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

场景

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

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

而在移动端访问www.test.com和m.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
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容