在htaccess中重定向非IE用户

时间:2012-08-29 10:29:34

标签: .htaccess

我写了

RewriteCond %{HTTP_USER_AGENT} .*MSIE.*
RewriteRule .* /IE [R=403,L]

将所有ie用户重定向到IE文件夹。

然后我试了

RewriteCond %{HTTP_USER_AGENT} !.*MSIE.*
RewriteCond %{HTTP_HOST} /IE
RewriteRule .* 404.html [R=404,L]

但它不起作用。

我怎样才能让它发挥作用?

2 个答案:

答案 0 :(得分:1)

R标志仅支持300到400之间的代码,如果要通过403 Forbidden错误,请使用F标志,如果要通过404 Not found错误,只需将用户重定向到不存在的页面。 / p>

修改:

试试这个:

RewriteCond %{HTTP_USER_AGENT} !MSIE
RewriteRule ^IE unexistantpage.html [L]

或者如果你想禁止它:

RewriteCond %{HTTP_USER_AGENT} !MSIE
RewriteRule ^IE - [F,L]

答案 1 :(得分:0)

您使用的是错误的var。 %{HTTP_HOST}与主机名匹配,而不是与文件夹匹配。我想你想要这样的东西:

RewriteCond %{HTTP_USER_AGENT} !.*MSIE.*
RewriteRule ^/?IE /404.html [R=404,L]

请注意,R=404会强制执行404响应,但实际上并不会将您重定向到任何地方。