是否有一个绝对可靠的方法来重定向取决于浏览器和浏览器版本?

时间:2013-02-21 14:41:18

标签: php redirect http-redirect

我想将用户重定向到其他网页,具体取决于他/她正在使用的浏览器和浏览器版本。

我知道这可以通过简单的javascript代码完成,也可以使用带有HTTP_USER_AGENT参数的PHP。但是,可以避免这两种方法停用javascript或手动更改user_agent。

我的问题是:有没有办法重定向,没有机会让客户逃避它?

3 个答案:

答案 0 :(得分:2)

最好的办法是检查用户代理并发出301 moved permanently重定向标题,除了“此页已移动”消息外,正文中没有任何有意义的内容。浏览器将遵循它,或呈现空文档。重要的是要认识到用户代理字符串是可选,你绝对不应该把它作为使用你网站的必要部分。

请注意,您的态度与互联网的整体性质相对立。没有办法强制用户的浏览器做任何,也不应该。所有行为都是完全可选的,用户可以自由地获取您的网站或网站的一部分,并以编程方式使用您发送的数据随意

答案 1 :(得分:1)

您只能通过网络上的文本字符串与客户端进行通信。如果客户不想告诉你他的真实用户代理,那么你真的无能为力。

答案 2 :(得分:1)

简单回答:没有

这会让生活变得更轻松,但浏览器对用户的隐私权比网站建设者的愿望更重要。

您可以做的最好的事情是让您的网站尽可能向下兼容。

我经常遇到的唯一罪魁祸首是各种版本的IE从6到10都需要不同的样式表规则。

我只是在头脑中使用

<head>
<!--[if IE 6]>
<link rel="stylesheet" href="ie6.css">
<![endif]-->
<!--[if IE 7]>
<link rel="stylesheet" href="ie7.css">
<![endif]-->
<!--[if IE 8]>
<link rel="stylesheet" href="ie8.css">
<![endif]-->
<!--[if IE 9]>
<link rel="stylesheet" href="ie9.css">
<![endif]-->
<!--[if IE 10]>
<link rel="stylesheet" href="ie10.css">
<![endif]-->