4

通过在我的服务器块中使用以下代码段,我能够为旧的 IE 用户提供过时的浏览器页面:

location / {
        if ($http_user_agent ~ "MSIE 8.0") {
                rewrite ^ /ie.html break;
        }
}

这工作正常,nginx 服务ie.html于 IE 8 用户。不过,我有两个问题。

一是我想将旧的 IE 用户重定向到/upgradebrowser而不是仅仅为他们提供 HTML 页面。有没有办法可以发送Location:标题或其他东西?

第二,有什么方法可以让我轻松抓到所有IE的老用户?目前这只是在做 IE 8.0,有没有办法使用$http_user_agent < "MSIE 8.0"

4

1 回答 1

6

您必须使用正则表达式来匹配所有情况。例如。

location / {
    if ($http_user_agent ~* '(MSIE 8.0|MSIE 7.0)') {
        return 301 https://$host$request_uri; 
    }
}
于 2014-04-14T19:39:39.113 回答