Rewrite实现指定浏览器访问

一些面向WEB开发的应用,会对浏览器有一定要求,如果是IE浏览器访问,则提示此浏览器不兼容,建议更换chrome浏览器继续访问。这个如何来实现呢?
这里主要使用到nginx的一个rewrite规则。可以在Chrome下模拟不同的浏览器来测试。
首先,使用chrome打开测试主机192.168.68.128上的nginx发布页面,F12调出开发模式
Rewrite实现指定浏览器访问_第1张图片
点击窗口右上角三个圆点,More tools-Network conditions
Rewrite实现指定浏览器访问_第2张图片
可以看到User agent,主要使用user agent这项来设定rewrite规则匹配。
Rewrite实现指定浏览器访问_第3张图片
去掉User agent 对应的Select automatically对应的勾。可以选择需要的浏览器,如下,查看到对应的IE9,IE11还不相同,分别对应的:MSIE和Trident,在nginx配置文件,利用MSIE和Trident做匹配
Rewrite实现指定浏览器访问_第4张图片
然后,在nginx配置文件里面,使用rewrite,利用MISE和Trident来做匹配。

if ( $http_user_agent ~* "MISI | Trident" )  {
       rewrite ^/(.*) /notify.html;
       }

最后,发布目录创建notify.html页,写入内容:此浏览器不兼容,建议更换chrome浏览器继续访问。

然后在chrome下可以模拟访问,IE时会提示:此浏览器不兼容,建议更换chrome浏览器继续访问。使用chrome访问时正常。

你可能感兴趣的:(nginx,linux)