【问题标题】:Specific .htaccess redirects特定的 .htaccess 重定向
【发布时间】:2012-09-29 22:20:14
【问题描述】:

我使用移动重定向代码:

HTACCESS MOBILE SITE REDIRECTION CODE

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} (mobile|android|blackberry|brew|cldc|docomo|htc|j2me|micromax|lg|midp|mot|motorola|netfront|nokia|obigo|openweb|opera.mini|palm|psp|samsung|sanyo|sch|sonyericsson|symbian|symbos|teleca|up.browser|vodafone|wap|webos|windows.ce) [NC]
RewriteRule ^(.*)$ url1 [R=302,L]

使用此代码,我的整个网站将移动访问者重定向到 url1。 因此,我想保持该重定向不变,但要对来自我的网站的一个或多个特定 URL 进行不同的重定向,例如http://www.mysite.com/sample.htm 将访问者重定向到 url2,而网站的其余部分将访问者重定向到 url1。

谢谢。

【问题讨论】:

  • .htaccess 文件是从上到下解析的,所以只要您从sample.htm 重定向到url2 的规则在您已经拥有的规则之前,您就不应该有任何问题

标签: regex apache .htaccess redirect


【解决方案1】:

使用以下代码:

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} (mobile|android|blackberry|brew|cldc|docomo|htc|j2me|micromax|lg|midp|mot|motorola|netfront|nokia|obigo|openweb|opera.mini|palm|psp|samsung|sanyo|sch|sonyericsson|symbian|symbos|teleca|up.browser|vodafone|wap|webos|windows.ce) [NC]
RewriteRule ^ - [E=IS_MOBILE:1]

RewriteCond %{ENV:IS_MOBILE} 1
RewriteRule ^sample\.htm/?$ url2 [R=302,L,NC]

RewriteCond %{ENV:IS_MOBILE} 1
RewriteRule (?!^url2/?$)^.*$ url1 [R=302,L,NC]

【讨论】:

  • 谢谢你,阿努巴瓦。完美运行。
  • 很高兴知道,请尽可能接受答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-15
  • 2017-06-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多