rewrite定义浏览器请求

搞过前端的估计都碰到最头疼的问题就是浏览器兼容性问题了,特别是针对IE浏览器。往往前端为了省事就搞一个页面提示用户升级浏览器或者显示简单的静态页面。那接下来就需要运维来配置nginx rewrite规则了。

在这里直接贴出配置实例

server {
listen 80;
server_name xxx.xxx.com;
root   /www ;
if ( $http_user_agent ~* "MSIE [6-9].[0-9]") {
rewrite   /ie.html break;
}
}

解释一下上面的配置

$http_user_agent  客户端agent信息(这个是浏览器的标识,如果你开了访问日志的话,可以去看一下。每种浏览器的标识可能都不一样。)

~*  使用正则表达式,并且不区分大小写

MSIE [6,7].[0-9]   MSIE-IE浏览器的标识,这里匹配的是IE浏览器在版本在6到9的,例如6.1,7.0,8.2等等···

rewrite   /ie6.html   只要匹配则返回指定的静态页面

break 停止执行当前这一轮的ngx_http_rewrite_module指令集

原文地址:https://www.cnblogs.com/zhangan/p/10880348.html