我有一个奇怪的问题,我的.htaccess只重定向某些页面而其他页面没有被重定向。
这是我目前的重定向条件:
<Ifmodule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} "Firefox/[1-3]\." [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Opera/9\..*Version/(1[10]|[1-9])\. [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "Opera/[1-8]\." [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "MSIE [1-8]\." [NC]
RewriteRule ^$ http://www.mytestingdomain.com/browser-upgrade.html [L,R=302]
</Ifmodule>
例如,如果我使用IE8,www.mytestingdomain.com/about.html
将被重定向,但如果我使用IE8,www.mytestingdomain.com/search.html
将无法重定向。
我的.htaccess
文件夹中有一个或两个www
文件,但这些只是简单的.htaccess文件,它们会阻止目录列表,不应影响简单的HTML页面。
我的问题是,为什么我的上述重定向条件仅适用于某些HTML页面而不适用于其他HTML页面?
由于
答案 0 :(得分:1)
我甚至不知道它是如何重定向的,因为你的模式只能重定向root。我会更改RewriteRule
,以便pattern
匹配URI中的任何字符。
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} "Firefox/[1-3]\." [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Opera/9\..*Version/(1[10]|[1-9])\. [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "Opera/[1-8]\." [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "MSIE [1-8]\." [NC]
RewriteRule ^.* http://www.mytestingdomain.com/browser-upgrade.html [L,R=302]