根据所使用的浏览器(Chrome,Firefox或IE)重定向网站请求

正如我们在以前的文章中所说的( 如何执行与mod_rewrite的内部重定向 ),在这篇文章中,我们将介绍如何使用Apache 的mod_rewrite重定向根据用户的浏览器的标准要求,以显示自定义网站的内容。 理论上,所有现代浏览器都应该平等地解读内容。然而,一些实施最新的功能比其他更快。为了有一个功能齐全的网站,当它使用某个浏览器查看时不会中断。不幸的是,这将需要重定向到不同的目录或页面。

建议阅读: 5个窍门,以提高你的Apache Web服务器的性能

以下重写规则会重定向到 youcl.html youcl-于chrome.html,youcl-firefox.html,或根据浏览器 youcl-ie.html使用请求(谷歌Chrome,Mozilla Firefox浏览器,或Internet Explorer)。 这样做,在 HTTP_USER_AGENT环境变量用来识别基于用户代理字符串的浏览器。 下面我们介绍 RewriteCond指令,这使得我们可以指定必须按顺序满足重定向发生的条件。
RewriteCond "%{HTTP_USER_AGENT}"  ".*Firefox.*"
RewriteRule "^/youcl\.html$"     	"/youcl-firefox.html" [R,L]
RewriteCond "%{HTTP_USER_AGENT}"  ".*Chrome.*"
RewriteRule "^/youcl\.html$"     	"/youcl-chrome.html" [R,L]
RewriteCond "%{HTTP_USER_AGENT}"  ".*Trident.*"
RewriteRule "^/youcl\.html$"     	"/youcl-ie.html" [R,L]
请注意,目标页面 youcl.html不一定必须存在。 首先,让我们创建 youcl-firefox.html,youcl-于chrome.html,并包含以下内容 youcl-ie.html。
youcl-firefox.html:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<h3>Welcome to youcl on Firefox!</h3>
</body>
</html>
youcl-chrome.html:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<h3>Welcome to youcl on Chrome!</h3>
</body>
</html>
youcl-ie.html:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<h3>Welcome to youcl on Internet Explorer!</h3>
</body>
</html>
我们会看到浏览器使用不同的浏览器 youcl.html的结果:

基于浏览器检查站点

正如你可以看到 ,youcl.html被要求根据所使用的浏览器重定向相应。 在本文中,我们讨论了如何根据用户的浏览器执行重定向请求。包裹起来,我强烈建议你看看在 mod_rewrite cheat sheet和bookmark重定向并 在Apache文档重新映射指南以供将来参考。 一如既往,如果您对本文有任何疑问或反馈,请随时使用下面的评论表。我们期待您的回音!
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏