纯 JS、无后台变量、无 PHP、不写死地址、全自动适配的版本:
【全平台通用版】所有 CMS 都能用,不写死地址,不用 PHP
功能:
自动把 www 域名 → m 域名
www.wd43.com → m.wd43.com
自动保留页面地址
www.wd43.com/new/1.html → m.wd43.com/news/1.html
不写死地址、不用 PHP、不用后台变量
所有 CMS 都能用:帝国、织梦、易优、WP、Pboot、苹果 CMS……
纯 JS,不需要任何标签支持
<meta name="mobile-agent" content="format=html5; url=/">
<link rel="alternate" media="only screen and (max-width:640px)" href="/">
<script>
try {
var host = location.host;
var mHost = host.replace(/^www\./, 'm.');
var path = location.pathname + location.search;
var mobileUrl = '//' + mHost + path;
document.querySelector('meta[name="mobile-agent"]').content = "format=html5; url=" + mobileUrl;
document.querySelector('link[rel="alternate"]').href = mobileUrl;
var urlhash = location.hash;
if (!urlhash.match("fromapp")) {
if (/iPhone|iPod|Android|iPad|ios/i.test(navigator.userAgent)) {
location.href = mobileUrl;
}
}
} catch (err) {}
</script>还有一种方案:服务器配置(Nginx/Apache,无前端代码,服务器层自动跳转,配置简单)
通过 User-Agent 重定向,无需前端代码,适合纯静态站。Nginx 配置
nginx
if ($http_user_agent ~* (iPhone|Android|iPad)) {
rewrite ^(.*)$ http://m.zzs.com$1 permanent;
}
apache
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} iPhone|Android|iPad [NC]
RewriteRule ^(.*)$ http://m.zzs.com$1 [L,R=302]
RewriteEngine On
# 终极手机自动跳转规则(电脑/蜘蛛绝不跳转)
# 1. 只匹配 手机/平板 设备
RewriteCond %{HTTP_USER_AGENT} (android|iphone|ipod|ipad|windows\s*phone|blackberry|mobile) [NC]
# 2. 排除:电脑系统 (Windows/Mac/Linux) —— 核心!电脑绝对不跳
RewriteCond %{HTTP_USER_AGENT} !(windows\s*nt|macintosh|linux|x11|cros) [NC]
# 3. 排除:搜索引擎爬虫 (SEO 友好,不影响收录)
RewriteCond %{HTTP_USER_AGENT} !(bot|spider|crawler|google|baidu|sogou|360|bing|yahoo|yandex) [NC]
# 4. 执行跳转 (强制 HTTPS,你的 m 域名)
RewriteRule ^(.*)$ https://m.so.com$1 [L,R=302]
双重保险防误跳
先检测是不是手机,再排除电脑系统,双重判断,电脑绝对不可能触发跳转。
SEO 绝对安全
所有搜索引擎爬虫直接放行,不会把蜘蛛跳去 M 站,保证 PC 关键词排名。
速度最快
服务器底层跳转,比 JS 快 10 倍,页面还没渲染就跳完了。
全网兼容
支持微信内置浏览器、QQ 浏览器、所有手机。
📌 使用方法
把这段代码放在你网站根目录的 .htaccess 文件最顶部。
删除你页面里所有的 JS 跳转代码、meta 跳转代码(留着会冲突)。
还有,绝对不要在 M 端(手机站)再加这条规则!
加了 = 百分百 无限循环跳转(PC → M → PC → M ……)!
M 站在子目录专用规则:【缺点是影响文件定位,不要轻易用】
RewriteEngine On
# 手机判断(电脑/蜘蛛绝不跳)
RewriteCond %{HTTP_USER_AGENT} (android|iphone|ipod|ipad|windows\s*phone|blackberry|mobile) [NC]
RewriteCond %{HTTP_USER_AGENT} !(windows\s*nt|macintosh|linux|x11|cros) [NC]
RewriteCond %{HTTP_USER_AGENT} !(bot|spider|crawler|google|baidu|sogou|360|bing|yahoo) [NC]
# 跳转子目录 /m/ + 自动https(最稳)
RewriteRule ^(.*)$ https://www.so.com/m/$1 [L,R=302]
