nginx 判断移动端还是电脑跳转域名或不同的文件

nginx 判断移动端还是电脑跳转域名或不同的文件

小小孩
2021-01-12 / 0 评论 / 1,217 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2021年06月09日,已超过1050天没有更新,若内容或图片失效,请留言反馈。
经常会遇到这种需求,根据访问终端的不同,来选择跳转不同的内容。一般区分小屏幕移动端和电脑端而区分访问内容。这有两种办法,一种是根据终端跳转域名,还有一种是根据终端访问的文件不同。下边就说下 nginx 对于这两种办法的配置

跳转域名

比如 www.domain.com 是 PC 端网址 而 m.domain.com是移动端网址

server {
    listen   80;
    server_name www.domain.com domain.com;
    root  /data/domain;
    charset utf-8;
    if ( $http_user_agent ~* "(Android|iPhone|Windows Phone|UC|Kindle)" ){ # 跳转判断
        rewrite  ^/(.*)$  http://m.domain.com$uri redirect; # redirect表示302跳转(暂时性转移) 
    }
    index index.html index.htm;
    #...
}

跳转不同的文件

server {
    listen   80;
    server_name www.domain.com domain.com;
    root  /data/domain; #默认PC端访问内容
    charset utf-8;
    if ( $http_user_agent ~* "(Android|iPhone|Windows Phone|UC|Kindle)" ){ # 跳转判断
        root /data/mobile_domain; #移动端访问内容
    }
    index index.html index.htm;
    #...
}
0

评论 (0)

取消