我正在尝试从android版本重定向到pc版本,规则如下:
http://example.com/android/categories
RewriteCond %{HTTP_USER_AGENT} !^Android [NC]
RewriteCond %{REQUEST_URI} !^categories$ [NC]
RewriteRule categories$ /categories [L,R,QSA]问题是,android版本处于重写条件中,即使我告诉它如果用户代理是iphone或android,就不要使用它。
为什么android版本会读到这条规则?
在这个例子中:
RewriteCond %{HTTP_USER_AGENT} "!(android|blackberry|googlebot-mobile|iemobile|ipad|iphone|ipod|opera mobile|palmos|webos)" [NC]
RewriteRule hot$ /hot-apps [L,R,QSA]
RewriteRule android/news$ /news [L,R,QSA]第一条重写规则works..while下一条规则不会..
我也这样做了:
RewriteCond %{HTTP_USER_AGENT} "!(android|blackberry|googlebot-mobile|iemobile|ipad|iphone|ipod|opera mobile|palmos|webos)" [NC]
RewriteRule iphone/contact$ /contact [L,R,QSA]这也不起作用:
RewriteCond %{HTTP_USER_AGENT} "!(android|blackberry|googlebot-mobile|iemobile|ipad|iphone|ipod|opera mobile|palmos|webos)" [NC]
RewriteCond %{REQUEST_URI} !^/android/ [NC]
RewriteRule news$ /news [L,R,QSA]但是仍然不能正常工作吗?
发布于 2012-11-18 01:37:16
如果所有Android / iPhone / mobile URL都有一个直接的PC等价物,例如
http://example.com/android/categories <-> http://example.com/categories
http://example.com/android/news <-> http://example.com/news
http://example.com/iphone/contact <-> http://example.com/contact然后,您可以按照以下方式使用单个规则:
RewriteBase /
RewriteCond %{HTTP_USER_AGENT} !(droid|blackberry|ipad|iphone|ipod|mobile|palmos|webos) [NC]
RewriteCond %{REQUEST_URI} ^/(android|iphone)/ [NC]
RewriteRule ^(android|iphone)/(.*) /$1 [L,R]https://stackoverflow.com/questions/13271375
复制相似问题