美文网首页
nginx配置移动端和PC端自动跳转

nginx配置移动端和PC端自动跳转

作者: 猪猪学上树 | 来源:发表于2019-02-21 13:47 被阅读0次

    场景

    客户端 域名 描述
    pc端 www.test.com 用于pc端访问官网
    移动端 m.test.com 用于移动端访问

    现在的需求是这样,在pc端访问www.test.comm.test.com都跳转到www.test.com

    而在移动端访问www.test.comm.test.com都跳转到m.test.com

    pc端conf

    server{
        listen 443;
        ssl on;
        #listen [::]:80;
        server_name www.test.com test.com;
        index index.html index.htm index.php default.html default.htm default.php;
        # 真正用到的只有行
        if ($http_user_agent ~* (mobile|nokia|iphone|ipad|android|samsung|htc|blackberry){
            rewrite  ^(.*)    https://m.test.com$1 permanent;
        }
    }
    

    移动端conf

    server{
        listen 443;
        ssl on;
        #listen [::]:80;
        server_name m.test.com;
        #  真正起作用的这行
        if ($http_user_agent !~* (mobile|nokia|iphone|ipad|android|samsung|htc|blackberry)) {
            rewrite  ^(.*)    https://www.test.com$1 permanent;
        }
    
        index index.html index.htm index.php default.html default.htm default.php;
    }
    

    需要注意的是 ,如果想让pc 跳转到移动 或者移动跳转到 pc 是302 临时重定向,可以修改 permanent 为 redirect

    • redirect – 返回临时重定向的HTTP状态302
    • permanent – 返回永久重定向的HTTP状态301

    相关文章

      网友评论

          本文标题:nginx配置移动端和PC端自动跳转

          本文链接:https://www.haomeiwen.com/subject/yhuryqtx.html