m.xxx.com)、电脑访问主域名(如 www.xxx.com),这种需求有 「2 种核心实现方案」,一个是 **「自动跳转方案」(最常用、零开发成本、推荐 99% 的网站使用),一个是「服务器反向代理方案」(无跳转无痕访问、体验最优、少量配置成本)**,两种方案都能完美实现需求,且都能做到「搜索引擎友好,无重复内容降权风险」,下面全部详细讲解,含完整配置代码 + 实操步骤。m.你的域名.com,比如 m.baidu.com)做 CNAME 解析,指向你的 PC 主域名(www.xxx.com)或 服务器的 IP 地址。✅ 解析规则:主机记录填m,记录类型选CNAME,记录值填www.xxx.com(或服务器公网 IP),TTL 默认 10 分钟即可。
m.xxx.com 这个手机域名,绑定到和 PC 主站 www.xxx.com 相同的网站根目录(比如 /www/wwwroot/xxx.com)。目的:让服务器能同时识别并响应www.xxx.com和m.xxx.com两个域名的访问请求。
原理:根据「设备类型」自动判断,手机 / 平板访问 www.xxx.com → 自动 301 永久跳转到 m.xxx.com;电脑访问 m.xxx.com → 自动 301 跳回 www.xxx.com,双向互跳,永不错乱。
优点:配置最简单、零开发成本、兼容性 100%、所有网站通用(PHP/Java/Node/ 纯静态 HTML 都能用),搜索引擎完全友好,权重继承无损失。
缺点:跳转时有一个「地址栏 URL 变化」的过程(毫秒级,用户基本无感)。
登录服务器 → 找到你的网站 Nginx 配置文件(宝塔面板:网站 → 站点设置 → 配置文件;原生服务器:/usr/local/nginx/conf/vhost/xxx.com.conf)
在 server{} 节点内(listen 80; 下方即可),粘贴以下完整配置代码,只需要修改 2 处域名:
# 核心:判断设备+自动跳转 - 手机端独立域名配置if ($http_user_agent ~* (mobile|nokia|iphone|ipad|android|samsung|htc|blackberry)){# 匹配到【手机/平板】设备,且当前访问的不是m域名 → 跳转到手机独立域名if ($host !~* ^m\.你的域名\.com$){rewrite ^(.*)$ https://m.你的域名.com$1 permanent;# permanent = 301永久跳转,搜索引擎友好}}# 反向判断:匹配到【电脑】设备,且当前访问的是m域名 → 跳回主域名if ($http_user_agent !~* (mobile|nokia|iphone|ipad|android|samsung|htc|blackberry)){if ($host ~* ^m\.你的域名\.com$){rewrite ^(.*)$ https://www.你的域名.com$1 permanent;}}你的域名.com 换成自己的真实域名即可,比如 m.baidu.com 和 www.baidu.com。3. 保存配置 → 重启 Nginx(宝塔:服务 → Nginx → 重启;原生:service nginx restart),配置立即生效。<head> 标签内 粘贴以下 JS 代码即可,零配置成本,复制即用,同样能实现精准的设备判断 + 自动跳转。<script type="text/javascript">// 判断是否为手机/平板设备functionisMobileDevice(){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);}// 定义主域名和手机独立域名const pcDomain ="https://www.你的域名.com";const mobileDomain ="https://m.你的域名.com";// 获取当前页面的完整路径(比如 /index.html 或 /news/123.html)const currentPath =window.location.pathname+window.location.search;// 核心跳转逻辑if(isMobileDevice()){// 手机设备:如果当前不在m域名 → 跳转到m域名+当前路径if(window.location.hostname!=="m.你的域名.com"){window.location.href= mobileDomain + currentPath;}}else{// 电脑设备:如果当前在m域名 → 跳回主域名+当前路径if(window.location.hostname==="m.你的域名.com"){window.location.href= pcDomain + currentPath;}}</script>你的域名.com 换成自己的真实域名即可,代码会自动保留页面路径,比如手机访问 www.xxx.com/news/1 会跳转到 m.xxx.com/news/1,精准对应。原理:无跳转、无痕访问,用户访问 www.xxx.com(电脑)或 m.xxx.com(手机),地址栏 URL完全不变,服务器内部通过「反向代理」将两个域名的请求,分别映射到「PC 端网站目录」和「手机端网站目录」,是真正的「独立域名 + 独立站点」。
优点:用户体验极致,没有跳转的 URL 变化;两个域名完全独立,可分别优化 PC / 手机端代码,适合「PC 和手机端是两套完全不同的网站代码」的场景(比如电商、资讯类大站)。
缺点:需要服务器配置权限,适合有一定基础的开发者,配置略复杂一点点。
适用场景:PC 端和手机端是两套独立的网站源码(比如 PC 在 /www/wwwroot/xxx.com/pc,手机在 /www/wwwroot/xxx.com/mobile),需要独立域名分别访问两套源码的情况。
server{} 节点,一个对应 PC 主域名,一个对应手机独立域名,代码直接复制粘贴,仅需修改「域名」和「网站目录」:# 【配置1】PC端主域名 - www.xxx.comserver{listen80;listen443 ssl http2;server_name www.你的域名.com;# PC主域名ssl_certificate 你的证书文件路径.pem;# 你的HTTPS证书(没有可删除)ssl_certificate_key 你的证书密钥路径.key;# 你的HTTPS密钥(没有可删除)# PC端网站的根目录(你的PC源码存放路径)root /www/wwwroot/xxx.com/pc;index index.html index.php;# 其他原有配置(如伪静态、防盗链)保留即可}# 【配置2】手机端独立域名 - m.xxx.com 核心代理配置server{listen80;listen443 ssl http2;server_name m.你的域名.com;# 手机独立域名ssl_certificate 你的证书文件路径.pem;# 同PC端证书即可ssl_certificate_key 你的证书密钥路径.key;# 手机端网站的根目录(你的手机端源码存放路径)root /www/wwwroot/xxx.com/mobile;index index.html index.php;# 其他原有配置保留即可}两个域名 www.xxx.com 和 m.xxx.com 完全独立,互不干扰;
用户访问哪个域名,就加载对应目录的源码,地址栏无任何跳转;
适合 PC 和手机端是两套独立开发的网站,比如 PC 端是复杂的商城后台,手机端是简洁的移动端商城。
<head> 标签内,同时添加以下 2 行代码,告诉搜索引擎:PC 域名和手机域名是同一个网站的不同终端版本,不是两个独立网站,搜索引擎会自动合并权重,不会降权!<!-- 声明:本PC站的移动端对应网址是 m.xxx.com --><linkrel="alternate"media="only screen and (max-width: 768px)"href="https://m.你的域名.com"/><!-- 声明:本手机站的主站(PC端)对应网址是 www.xxx.com --><linkrel="canonical"href="https://www.你的域名.com"/>rel="alternate":告诉搜索引擎「这是当前页面的替代版本(移动端)」;
rel="canonical":告诉搜索引擎「这是当前页面的权威版本(PC 主站)」;
搜索引擎识别后,会将两个域名的收录内容合并,权重全部归集到主域名,完美解决重复内容问题。
m.你的域名.com(m = mobile),比如 m.jd.com、m.taobao.com,用户认知度最高,也最利于 SEO,强烈推荐使用这个格式,不要用 wap.xxx.com 或其他格式。本文中所有跳转都用的是 301 永久跳转(nginx 里的 permanent),这是唯一正确的选择;
301:永久跳转,搜索引擎会把旧域名的权重完全继承到新域名,无任何权重损失;
302:临时跳转,搜索引擎不会继承权重,长期使用会导致网站排名下降,绝对不要用。
先解析 m.xxx.com 并绑定到服务器,完成基础配置;
选方案:单源码用「Nginx/JS 自动跳转」,双源码用「Nginx 反向代理」;
必做 SEO:在 PC 和手机端页面添加双向适配标签,避免重复内容降权。