在.htaccess / apache中检测iPhone浏览器并redirect到iPhone站点

是否有可能在.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)。