网站aaa.xxx.com是有wap和pc两种页面,同一个url请求,nginx根据客户端的user-agent返回不同的适配页面,如下图:
但是遇到一种情况,某m.xxx.com里有个入口跳转到我们的网站aaa.xxx.com首页,m.xxx.com无论是pc访问还是手机访问都是显示wap页样式,这就要求在m.xxx.com上跳到aaa.xxx.com首页也要显示wap页样式(如下图1),aaa.xxx.com的首页和详情页之间的跳转也要显示wap页(如下图2)。
图1
图2
Nginx上的根据user-agent的适配规则已经不能支持需求。需要提供新的技术方案支持:
1、 加个url参数from,在nginx上判断from=mobile表示要显示wap页,并且写上cookie。
location / {
if ($args ~*"from=mobile"){
add_header "Set-Cookie""from=mobile";
root aaa\\html\\mobile\\;
}
if ($http_cookie ~* "from=mobile"){
root aaa\\html\\mobile\\;
}
root aaa\\html\\pc\\;
}
2、从首页跳到详情页时,nginx判断首页的cookie里有“from=mobile”,显示详情页的wap页