nginx 判断是否是ie浏览器10以下. http_user_agent rewrite到一个页面提示。

公司用的vue. 单页面...

vue不支持ie9一下的浏览器.

所有我想让nginx判断是否是ie.且版本是低于10以下的. 然后我rewrite到另一个页面...

但始终没有成功.. 方便测试. 我把条件改成了ie

if ($http_user_agent ~ "MSIE") {
        rewrite /message.html break;
}

项目根目录下有个 message页面,提示用户切换高级浏览器或者升级.

但这样并没有成功!!!!!

vue 用的history模式

阅读 9.2k
4 个回答

这个 我个人认为,应该在前端做,在每次进入首页之前会粗发一个 vue 路由的导航钩子函数 beforeRouteEnter ,然后在这里判断否是ie.且版本是低于10以下,是的话 就直接跳转别的页面

在index.html里直接用或用原生JS写最安全。。。

  <body>
    <!--[if lt IE 9]><div style="color:red">你的浏览器实在<strong>太太太太太太旧了</strong>,放学别走,升级完浏览器再说 <a target="_blank" class="alert-link" href="http://browsehappy.com">立即升级</a></div><![endif]-->
    <div id="app"></div>
    <!-- built files will be auto injected -->
  </body>
if ( $http_user_agent ~* "MSIE [5-8]") {
    rewrite /* http://www.baidu.com permanent;
}

亲测有效,望采纳

worker_processes 1;

events {
    worker_connections 1024;
}

http {
    map $http_user_agent $outdated {
        default                                 0;
        "~MSIE [1-10]\."                        1;
        "~Trident/[5-7]\."                        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;
    }

    server {
        listen 80;

        location / {
            root   /usr/share/nginx/html;
            index  index.html index.htm;

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

        location = /outdated.html {
            root   /usr/share/nginx/html;
            index  outdated.html;
        }

    }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题