首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Htaccess规则。从android版本重定向到pc版本

Htaccess规则。从android版本重定向到pc版本
EN

Stack Overflow用户
提问于 2012-11-07 22:05:16
回答 1查看 380关注 0票数 1

我正在尝试从android版本重定向到pc版本,规则如下:

代码语言:javascript
复制
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版本会读到这条规则?

在这个例子中:

代码语言:javascript
复制
 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下一条规则不会..

我也这样做了:

代码语言:javascript
复制
RewriteCond %{HTTP_USER_AGENT} "!(android|blackberry|googlebot-mobile|iemobile|ipad|iphone|ipod|opera mobile|palmos|webos)" [NC]
RewriteRule iphone/contact$ /contact [L,R,QSA]

这也不起作用:

代码语言:javascript
复制
 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]

但是仍然不能正常工作吗?

EN

回答 1

Stack Overflow用户

发布于 2012-11-18 01:37:16

如果所有Android / iPhone / mobile URL都有一个直接的PC等价物,例如

代码语言:javascript
复制
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

然后,您可以按照以下方式使用单个规则:

代码语言:javascript
复制
 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]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13271375

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档