如果用户是移动的,如何重写到mobile.myUrl.com? (使用Apache或Webapp内?)

如果用户使用移动浏览器查看我的网站www.myUrl.com,我想将其redirect到mobile.myUrl.com。 我读这个线程自动检测手机浏览器(通过用户代理?) ,它说,你应该检测用户代理,然后redirect用户。

但我还没有find一个线程,告诉我如何redirect到mobile.myUrl.com。 我应该和可以使用Apache的呢? 或者,我应该在我的Web应用程序内做?

JAVASCRIPT

首先,让我指出,大多数移动设备有能力禁用JavaScript。

现在,移动设备最常见的重定向形式是通过Javascript。 (苹果公司的网站使用这种方法。)当页面开始加载时,运行一个脚本来确定用户代理,一个浏览器特定的(和特定于操作系统的)字符串,详细描述浏览器类型,设备类型和/或操作系统。 然后将该字符串与已知的移动设备进行匹配。 例如:

<script language=javascript> <!-- if ((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i))) { location.replace("http://mobile.myurl.com"); } --> </script> 

该脚本会将任何浏览器与包含“iPhone”或“iPod”的用户代理重定向到“mobile.myurl.com”。

这需要检查一堆其他设备。

查看本网站以获取更多信息:

http://www.hand-interactive.com/resources/detect-mobile-javascript.htm

如果您使用的是兼容PHP的服务器,请参阅以下站点:

http://www.hand-interactive.com/resources/detect-mobile-php.htm

APACHE

只需使用mod_rewrite引擎,就可以像使用上面的Javascript方法一样,使用特定的用户代理字符串重定向浏览器:

 RewriteEngine on RewriteCond %{HTTP_USER_AGENT} iPhone RewriteCond %{HTTP_USER_AGENT} iPod RewriteRule .* http://mobile.myurl.com/ [R] 

这将检查“iPhone”和“iPod”用户,并将其重定向到移动版本的网站。

更多在这里:

http://www.themepremium.com/htaccess-code-http_user_agent-of-multiple-phone-browsers-for-wordpress-blogs/