开发者

Detect iPhone browser in .htaccess/apache and redirect to iPhone site

Is it possible to开发者_如何学Python detect iPhone browser agent in .htaccess and redirect the user to the correct iPhone page?


Sure you can -

   #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]

Taken from here


A little Googling, even has a handy generator. http://detectmobilebrowsers.mobi/


To add to @Tommy's response, if you want to pass through the URI, change the RewriteRules to the following:

RewriteRule ^(.*)$ http://mobile.yourdomain.com$1 [R=301]

Otherwise you'll be redirecting all requests to the mobile home page (though that might be what you want).


Here's a simplified RewiteRule that combines the mobile user agents into a single condition:

# Redirect Mobile Devices
RewriteCond %{HTTP_USER_AGENT} "android|blackberry|iphone|ipod|iemobile" [NC]
RewriteRule ^(.*)$ http://m.example.com/$1 [R=301,L]

You'll notice that the [NC] nocase flag is set, which causes the RewriteRule to be matched in a case-insensitive manner.

That is, it doesn't care whether the user agents strings appear as upper-case, camel-case or lower-case in the matched URI. (e.g., IPHONE vs. iPhone vs. iphone).

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜