是否有可能在.htaccess中检测iPhone浏览器代理并将用户redirect到正确的iPhone页面?
你当然可以 –
#redirect mobile browsers RewriteCond %{HTTP_USER_AGENT} ^.*iPhone.*$ RewriteRule ^(.*)$ http://mobile.yourdomain.com [R=301] RewriteCond %{HTTP_USER_AGENT} ^.*BlackBerry.*$ RewriteRule ^(.*)$ http://mobile.yourdomain.com [R=301] RewriteCond %{HTTP_USER_AGENT} ^.*Palm.*$ RewriteRule ^(.*)$ http://mobile.yourdomain.com [R=301]
从这里采取
有一点谷歌搜索,甚至有一个方便的发电机。 http://detectmobilebrowsers.mobi/
要添加到@ Tommy的响应,如果您想要通过URI,请将RewriteRules更改为以下内容:
RewriteRule ^(.*)$ http://mobile.yourdomain.com$1 [R=301]
否则,你会将所有请求重定向到移动主页(尽管这可能是你想要的)。
这是一个简化的RewiteRule ,它将移动用户代理组合成一个单一的条件:
# Redirect Mobile Devices RewriteCond %{HTTP_USER_AGENT} "android|blackberry|iphone|ipod|iemobile" [NC] RewriteRule ^(.*)$ http://m.example.com/$1 [R=301,L]
您会注意到[NC] nocase标志被设置,这会导致RewriteRule以不区分大小写的方式进行匹配。
也就是说,用户代理字符串在匹配的URI中显示为大写,驼峰或小写都不在意。 (例如,IPHONE与iPhone与iPhone)。