nginx配置pc/mobile端重定向

331 阅读1分钟

1. pc

server {
    listen       80;
    server_name  www.home.com;
    if ($http_user_agent ~* (mobile|nokia|iphone|ipad|android|samsung|htc|blackberry))     {
        rewrite  ^(.*)    http://m.home.com$1 permanent;
    }
    location / {
        root   www;
        index  index.html index.htm;
    }
}

2. mobile

server {
    listen       80;
    server_name  m.home.com;
    if ($http_user_agent !~* (mobile|nokia|iphone|ipad|android|samsung|htc|blackberry))     {
        rewrite  ^(.*)    http://www.home.com$1 permanent;
    }
    location / {
        root   m;
        index  index.html index.htm;
    }
}

2. 原理

启动两个server,持有设备访问某个server的时候,优先判断设备user agent,再做后续逻辑。