我遇到一个奇怪的问题,我的.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>
例如,www.mytestingdomain.com/about.html
如果使用IE8,www.mytestingdomain.com/search.html
将被重定向,但是如果使用IE8,则不会被重定向。
我的.htaccess
文件www
夹中确实有一个或两个文件,但是它们只是简单的.htaccess文件,它们阻止了目录列表并且不会影响简单的HTML页面。
我的问题是,为什么我上面的重定向条件仅在某些HTML页面上有效而在另一些HTML页面上无效?
谢谢
我什至不知道它是如何重定向的,因为您有只重定向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]
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句