最终用户是否可以检测到mod_rewrite规则? 在不发送代理或重定向响应的情况下,根据浏览器类型重定向用户的最佳方法是什么?
我正在尝试确保具有一种浏览器类型的用户获得正确的登录页面,而另一种浏览器类型的用户获得他们的浏览器类型。但是,它需要无法检测到。
所有网站用户都会看到“www.mysite.org/index.html”,但“index.html”将是基于用户代理字符串的不同页面,但我不想要任何指标,如重定向状态(3xx) )只有OK 200.
添加[PT]会这样做还是添加[R]并发送200?我不想发送200作为规则,以防出现问题,但我不希望用户看到任何本地重定向的指示。我认为服务器端设置是隐藏的,但有人表示响应代码可以检测到它。
Examples I found;
# MS Internet Explorer - Mozilla v4
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^Mozilla/4(.*)MSIE
RewriteRule ^index\.html$ /index.IE.html [L]
# Netscape v6.+ - Mozilla v5
RewriteCond %{HTTP_USER_AGENT} ^Mozilla/5(.*)Gecko
RewriteRule ^index\.html$ /index.NS5.html [L]
# Lynx or Mozilla v1/2
RewriteCond %{HTTP_USER_AGENT} ^Lynx/ [OR]
RewriteCond %{HTTP_USER_AGENT} ^Mozilla/[12]
RewriteRule ^index\.html$ /index.20.html [L]
答案 0 :(得分:0)
这是这种方式的一般流程:
就浏览器而言,这就是它所看到的:
在第一个工作流程中,步骤2,3和4都只在服务器端发生,因此浏览器对此一无所知。
所以你不需要PT
或R
(它告诉浏览器去其他地方,从而将它暴露在内容真正的位置)。