特定的.htaccess重定向

时间:2012-10-09 14:39:58

标签: regex apache .htaccess redirect

我使用移动重定向代码:

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。 因此,我希望保持重定向,但要为我的网站中的一个或多个特定网址进行不同的重定向,例如http://www.mysite.com/sample.htm将访问者重定向到url2,而网站的其余部分则将访问者重定向到url1。

谢谢。

1 个答案:

答案 0 :(得分: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]