网站 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 页
来源: http://blog.csdn.net/phil_code/article/details/79474322