- A+
所属分类:Linux
现有一个PC端和移动端跳转适配的需求,按照网络上的介绍都是使用JS的方法来做跳转,从访问的原理来说,使用JS的方法没有使用直接在服务器判断的方法更加的迅速。这里介绍一个在服务器端(linux+nginx)的适配方法。
需求介绍:PC端页面 www.zxar520.com/pc/123/index.html,移动端页面 m.zxar520.com/sj/123/index.html
这里pc和sj目录是固定目录,名称不变,而123则是项目页面目录,可以是123可以是456,甚至是其他的。所以nginx的配置方式如下:
1 2 3 4 5 |
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.zxar520.com/sj/$name/; } } |
注意location的匹配模式,最后的(.*?) 可以是(.*)