- 移除织梦自带的手机跳转代码:这是最常见的情况,织梦在模板中默认加入了检测手机并跳转到手机站的JS代码。
- 移除通过
.htaccess文件实现的301跳转:有些站长会通过服务器规则(如.htaccess)来强制跳转,这种情况需要修改服务器配置文件。
下面我将分别介绍如何处理这两种情况,请根据您的实际情况选择。

(图片来源网络,侵删)
移除织梦模板中的手机跳转代码 (最常用)
织梦DedeCMS 5.7通常会在首页模板(index.htm)和head公共头部模板(head.htm)中嵌入一段JavaScript代码来实现手机跳转,我们需要找到并删除它。
步骤 1:备份文件
在进行任何修改之前,请务必备份您的网站文件,特别是 /templets/default/ 目录下的文件,以防操作失误导致网站无法访问。
步骤 2:检查并修改首页模板 (index.htm)
-
使用FTP或文件管理器登录您的网站服务器。
-
进入
/templets/您的模板名称/目录(如果您使用的是默认模板,/templets/default/)。
(图片来源网络,侵删) -
找到并打开
index.htm文件。 -
在文件中搜索类似以下的代码段:
<script type="text/javascript"> function browserRedirect() { var sUserAgent = navigator.userAgent.toLowerCase(); var bIsIpad = sUserAgent.match(/ipad/i) == "ipad"; var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os"; var bIsMidp = sUserAgent.match(/midp/i) == "midp"; var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4"; var bIsUc = sUserAgent.match(/ucweb/i) == "ucweb"; var bIsAndroid = sUserAgent.match(/android/i) == "android"; var bIsCE = sUserAgent.match(/windows ce/i) == "windows ce"; var bIsWM = sUserAgent.match(/windows mobile/i) == "windows mobile"; if (bIsIpad || bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM) { // 这里的 /m/ 是手机站的目录,请根据您的实际情况修改 window.location.href = "http://" + window.location.host + "/m/"; } } browserRedirect(); </script>或者更简洁的版本:
<script type="text/javascript"> if(window.location.toString().indexOf('pref=padindex') != -1){}else{ if(/AppleWebKit.*Mobile/i.test(navigator.userAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent))){ if(window.location.href.indexOf("?mobile")<0){ try{ if(/Android|Windows Phone|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)){ window.location.href="http://您的域名/m/"; // 手机站地址 }else if(/iPad/i.test(navigator.userAgent)){ //window.location.href="http://您的域名/"; // iPad不跳转,可以保留或也跳转 }else{ window.location.href="http://您的域名/m/"; // 其他手机设备跳转 } }catch(e){} } } } </script> -
将整个
<script>...</script>代码块删除,这段代码就是负责检测设备并跳转的核心。
(图片来源网络,侵删)
步骤 3:检查并修改公共头部模板 (head.htm)
这段代码也可能被放在公共头部模板中,这样可以作用于所有页面。
- 在同一个
/templets/default/目录下,找到并打开head.htm文件。 - 同样地,搜索上面提到的JavaScript代码。
- 如果找到,也将其完全删除。
步骤 4:清除缓存
删除代码后,登录您的织梦后台。
- 点击左侧菜单的 “系统” -> “清除缓存”。
- 勾选所有选项,然后点击“开始执行”。
- 清除缓存后,重新访问您的网站,手机应该就不会自动跳转了。
移除 .htaccess 文件中的跳转规则
如果您修改了模板中的JS代码后,手机依然会跳转,那么很可能是服务器层面的跳转规则在起作用,这通常存在于网站根目录下的 .htaccess 文件中。
步骤 1:备份 .htaccess 文件
同样,先备份网站根目录下的 .htaccess 文件。
步骤 2:检查并修改 .htaccess 文件
-
用文本编辑器打开网站根目录下的
.htaccess文件。 -
查找其中是否包含类似下面的 RewriteRule 规则:
# 织梦手机站跳转规则 RewriteCond %{HTTP_USER_AGENT} (android|blackberry|iphone|ipod|ipad|opera mobi|opera mini|iemobile|windows phone|palm|symbian|nokia|hpwos|fennec|motorola|samsung|sonyericsson|lg|htc|sgh|lenovo|zte|huawei|xiaomi|oppo|vivo|meizu) RewriteCond %{REQUEST_URI} !^/m/ # 这里的 /m/ 是手机站目录 RewriteRule ^(.*)$ /m/ [L,R=302]或者
# 强制手机跳转 <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{HTTP:Accept} "text/vnd.wap.wml\|application/vnd.wap.xhtml+xml" [NC,OR] RewriteCond %{HTTP_USER_AGENT} "acs|alav|alca|amoi|audi|aste|avan|benq|bird|blac|blaz|brew|cell|cldc|cmd|dang|doco|eric|hipt|htc|inno|ipaq|ipod|jigs|kddi|keji|leno|lg-c|lg-d|lg-g|lge|lg/u|maui|maxo|midp|mits|mmef|mobi|mot|motor|msie|nec|newt|noki|palm|pana|pant|phil|play|port|prox|qtek|qwap|sage|sams|sany|sch|sec|send|seri|sgh|shar|sie|siem|smal|smar|sony|sph|symb|t-mo|teli|tim|tosh|tsm|upg|upsi|vk-v|voda|wap|wapa|wapi|wapp|wapr|webc|winw|winw|xda|xda" [NC] RewriteCond %{REQUEST_URI} !^/m/ RewriteRule ^(.*)$ /m/ [L,R=302] </IfModule> -
注释或删除这些规则。
- 注释方法:在规则的每一行前面加上 号。
# RewriteCond %{HTTP_USER_AGENT} (android|blackberry|iphone|ipod|ipad|opera mobi|opera mini|iemobile|windows phone|palm|symbian|nokia|hpwos|fennec|motorola|samsung|sonyericsson|lg|htc|sgh|lenovo|zte|huawei|xiaomi|oppo|vivo|meizu) # RewriteCond %{REQUEST_URI} !^/m/ # RewriteRule ^(.*)$ /m/ [L,R=302] - 删除方法:直接选中这几行,按
Delete键删除。
- 注释方法:在规则的每一行前面加上 号。
-
保存
.htaccess文件,然后上传到服务器,覆盖原文件。
总结与排查
完成以上步骤后,您的织梦5.7网站应该就不再进行手机跳转了。
如果问题依旧,请按以下顺序排查:
- 确认缓存:再次进入后台,清除所有缓存,包括浏览器缓存和CDN缓存(如果使用了CDN)。
- 确认文件:确保您修改的是正确的模板文件(
index.htm和head.htm),并且代码已经被完全删除。 - 确认服务器:确认
.htaccess文件中的跳转规则也已被注释或删除,有时候服务器上可能还有其他的配置文件(如Nginx的nginx.conf),如果您使用的是Nginx服务器,则需要修改Nginx的配置文件,查找类似if ($http_user_agent ~* "...")的规则并删除。 - 确认代码:检查模板中是否还有其他第三方插件或模块加入了跳转代码,可以尝试临时切换到织梦默认的简单模板(如
templets/system/下的模板)进行测试。
通常情况下,方法一就能解决99%的问题,祝您操作顺利!
