基于浏览器重定向用户 - htaccess或任何其他方式

时间:2014-01-13 08:50:10

标签: javascript php .htaccess redirect

我正在设计一个网站,并希望为不同的浏览器设置不同的页面,因为我的页面在Firefox和IE中看起来很糟糕

您能否建议我如何根据浏览器将用户重定向到不同的网页。

如果您能为我准备好使用脚本,我将不胜感激,因为我不是专业的程序员,而是为我个人使用设计网站。

我想为不同的浏览器设置不同的页面,例如

http:// mysite1 .com / IE.htm

http:// mysite1 .com / Chrome.htm

http:// mysite1 .com / Firefox.htm

http:// mysite1 .com / Safari.htm

请提供所有浏览器的脚本。 非常感谢你。

2 个答案:

答案 0 :(得分:0)

有很多很多网页浏览器和许多版本的浏览器,因为有些评论已经突出显示,而且不可能为所有这些浏览器开发。

话虽如此,因为这是一个个人项目,并且因为你问过,这是用PHP做的一种方法:

首先,抓住useragent使用$_SERVER['HTTP_USER_AGENT']查找浏览器。通过将他们的使用者与普通浏览器的使用者进行比较,可能可以识别他们的浏览器。 A list of common useragents可能会有用。

具体来说,是Google Chrome的一个示例(您可能希望对其进行优化以区分Chrome版本):

if(strpos($_SESSION['HTTP_USER_AGENT'],"Chrome") !== False){
    header("Location: http://mysite1.com/Chrome.htm");
    //redirects the browser
}

基本上,我们使用strpos()在useragent中搜索字符串Chrome的任何匹配项,强烈建议使用Chrome浏览器。

请注意使用者非常不可靠并且很容易伪造一个使用者,所以不应该信任他们。

答案 1 :(得分:0)

大多数“我的网站在浏览器X中看起来很糟糕”可以通过CSS单独解决。有多种技术可以帮助你解决这个问题,但我会解释两个:一个是blog post由Paul Irish建议的,另一个是在SO post中解释的。

浏览器嗅探

HTML:

<!--[if lt IE 7]>      <html class="ie6"> <![endif]-->
<!--[if IE 7]>         <html class="ie7"> <![endif]-->
<!--[if IE 8]>         <html class="ie8"> <![endif]-->
<!--[if gt IE 8]><!--> <html>         <!--<![endif]-->

CSS:

div.foo { color: inherit;}
.ie6 div.foo { color: #ff8000; }

基本思想是使用条件注释将类添加到指示IE版本的根元素,允许您为该版本编写特定规则。

CSS重置

CSS中某些属性的默认值在浏览器之间是不同的。 CSS重置是一组使这些默认值相同的规则。


使用CSS在不同的浏览器中使页面看起来相同的优点是HTML是相同的,这使得维护比在需要添加一些文本时更新谁知道多少页面更容易维护站点。