请选择 进入手机版 | 继续访问电脑版
4006-018-018
快捷导航

[操作系统] Nginx配置——区分PC或手机访问不同域名

0
回复
241
查看
[复制链接]

99

主题

101

帖子

404

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
404
发表于 2020-11-21 15:53:41 | 显示全部楼层 |阅读模式
 
Nginx配置——区分PC或手机访问不同域名

新官网上线,但在手机上访问新官网的体验很差,要求在手机上访问新官网时访问旧官网,可以通过修改Nginx配置来实现自动跳转。
首先是新官网的Nginx配置文件加个跳转判断,通过user-agent判断来源是移动端还是PC端:
  1. server {
  2.      listen ;
  3.      server_name www.7d.com 7d.com; // 新官网域名
  4.      rewrite .* https://$host$request_uri last;
  5. }

  6. server {
  7.      listen        ssl;
  8.      server_name www.7d.com 7d.com;  // 新官网域名
  9.      root  /data/7d;
  10.      charset utf-;
  11.      ssl_certificate /usr/local/nginx/_.7d.com.crt;
  12.      ssl_certificate_key /usr/local/nginx/_.7d.com.key;

  13.      rewrite /s1$ http://s1.7d.com/start last;

  14.      if ( $http_user_agent ~* "(Android|iPhone|Windows Phone|UC|Kindle)" ){ // 跳转判断
  15.          rewrite  ^/(.*)$  https://m.7d.com$uri redirect; // redirect表示302跳转(暂时性转移) 
  16.      }
  17.      ……
  18. }
复制代码
然后是旧官网的配置文件改成新域名,同样要做跳转判断,把不是移动端访问的请求跳转回新官网。


  1. server {
  2.      listen ;
  3.      server_name m.7d.com; // 旧官网域名
  4.      rewrite .* https://$host$request_uri last;
  5. }

  6. server {
  7.      listen        ssl;
  8.      server_name m.7d.com;  // 旧官网域名
  9.      root  /data/7d;
  10.      charset utf-;
  11.      ssl_certificate /usr/local/nginx/_.7d.com.crt;
  12.      ssl_certificate_key /usr/local/nginx/_.7d.com.key;

  13.      rewrite /s1$ http://s1.7d.com/start last;

  14.      if ( $http_user_agent !~* "(Android|iPhone|Windows Phone|UC|Kindle)" ){ // ~前加个!,如果不是移动端访问,则跳转回新官网。
  15.          rewrite  ^/(.*)$  https://m.7d.com$uri redirect; // redirect表示302跳转
  16.      }
  17.      ……
  18. }
复制代码
这样就可以实现手机访问新官网7d com的域名时,实际访问的是旧官网的内容。点击浏览器的地址栏,会发现域名是m 7d com。
其实就是根据HTTP_USER_AGENT来做判断,利用Nginx做一个302跳转,如果rewrite语句中的最后一个单词redirect改为permanent,则表示301跳转(永久性转移)。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注我们:国际模特网

官方微信

APP下载

全国服务热线:

4000-018-018

公司地址:上海市嘉定区银翔路655号B区1068室

运营中心:成都市锦江区东华正街42号广电仕百达国际大厦25楼

邮编:610066 Email:mail@yidai.com

Copyright   ©2015-2016  网址大全  Powered by©Discuz!  技术支持:迪恩网络     ( 粤ICP备18158688号 导航门户网 云计算导航 )