chaihongjun.me

PC和移动端页面适配跳转nginx规则

PC和移动端页面适配跳转nginx规则

现有一个PC端和移动端跳转适配的需求,按照网络上的介绍都是使用JS的方法来做跳转,从访问的原理来说,使用JS的方法没有使用直接在服务器判断的方法更加的迅速。这里介绍一个在服务器端(linux+nginx)的适配方法。

需求介绍:PC端页面  www.chaihongjun.me/pc/123/index.html,移动端页面 m.chahongjun.me/sj/123/index.html

这里pc和sj目录是固定目录,名称不变,而123则是项目页面目录,可以是123可以是456,甚至是其他的。所以nginx的配置方式如下:

location ~* /pc/(.*?)/ {
    set $name $1;    if ($http_user_agent ~* "((Android)|(blackberry)|(googlebot-mobile)|(iemobile)|(ipad)|(iphone)|(opera mobile)|(palmos)|(webos)|(UCBrowser)|(wap)|(Opera Mobi))") {           
        return 301 http://m.chaihongjun.me/sj/$name/;
    }
}

注意location的匹配模式,最后的(.*?) 可以是(.*)

知识共享许可协议本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。作者:chaihongjun»