如何使用NGinx地图重定向过时的浏览器?

时间:2014-05-04 18:49:56

标签: browser nginx proxy

我们的Web应用程序前面有一个NginX平衡代理。 不幸的是,没有足够的开发资源来支持过时的浏览器,但是:( 我们希望通过浏览器用户代理数据(https://www.in2circle.com/outdated)将我们的网络项目成员重定向到 / outdated 页面。 出于某种原因,我们不想使用User-Agent内容分析逻辑加载后端。 我听说NginX很容易http://nginx.org/en/docs/http/ngx_http_map_module.html 如果有人这样做了,请帮我解释一下例子和解释吧!

1 个答案:

答案 0 :(得分:2)

也许有人会觉得这很有帮助。 下一个解决方案非常有效,正是我想要的:

map $http_user_agent $outdated {
    default                                 0;
    "~MSIE [1-9]\."                         1;
    "~Mozilla.*Firefox/[1-9]\."             1;
    "~Mozilla.*Firefox/[0-2][0-9]\."        1;
    "~Mozilla.*Firefox/3[0-1]\."            1;
    "~Opera.*Version/[0-9]\."               1;
    "~Opera.*Version/[0-1][0-9]\."          1;
    "~Opera.*Version/2[0-1]\."              1;
    "~AppleWebKit.*Version/[0-6]\..*Safari" 1;
    "~Chrome/[0-9]\."                       1;
    "~Chrome/[0-2][0-9]\."                  1;
    "~Chrome/3[0-3]\."                      1;
}

if ($outdated = 1){
    rewrite ^ /outdated redirect;
}