问题根源分析
最常见的原因是移动设备适配功能的开启,DedeCMS为了方便用户实现PC站和手机站的适配,内置了自动识别设备并跳转的功能,当这个功能被错误开启或配置不当时,就会出现您描述的问题。

(图片来源网络,侵删)
解决方案(请按顺序排查)
检查并关闭“移动站”功能(最常见原因)
这是最有可能的原因,请优先检查。
-
登录后台:使用管理员账号登录您的DedeCMS网站后台。
-
找到设置:在后台左侧菜单中,找到并点击 【系统】 -> 【系统基本参数】。
-
找到移动端设置:在“系统基本参数”页面,切换到 【核心设置】 选项卡。
(图片来源网络,侵删) -
检查关键选项:
- 是否启用移动站:找到这一项,将其值设置为 “否”。
是:启用,系统会尝试自动跳转。否:禁用,关闭所有自动跳转逻辑。
- 手机域名:是否启用移动站”是“是”,那么这里填写的域名就会被用作跳转目标。请确保这个域名是您正确的手机站域名,或者直接清空它,如果这里填的是您PC站的域名,就可能导致循环跳转或错误跳转。
- 是否启用移动站:找到这一项,将其值设置为 “否”。
-
保存设置:点击页面底部的“保存”按钮。
完成以上操作后,清除一下浏览器缓存,然后重新访问您的网站,看看问题是否解决。
检查模板中的跳转代码
开发者会在模板文件(通常是 head.htm)里手动加入了跳转代码,即使后台关闭了功能,代码依然存在。

(图片来源网络,侵删)
-
找到模板文件:通过FTP或主机文件管理器,进入您的网站模板目录,路径通常是
/templets/您的默认模板名称/。 -
编辑
head.htm:找到并打开head.htm文件。 -
搜索跳转代码:在文件中搜索以下关键词:
mobile跳转redirectwindow.location
您可能会找到类似这样的代码:
<script type="text/javascript"> // 检测是否为移动设备 function isMobile() { // ... 一些判断逻辑 ... return true; } if(isMobile()){ window.location.href = "http://您的手机站域名"; } </script>或者是更简单的:
<meta http-equiv="mobile-agent" content="format=xhtml; url=http://您的手机站域名">
-
删除或注释代码:找到这些代码后,直接将它们删除,或者在最前面加上
<!--和最后面加上-->将其注释掉。<!-- <script type="text/javascript"> // ... 跳转代码 ... </script> -->
-
保存文件:保存
head.htm文件并上传回服务器。
检查.htaccess文件(针对Apache服务器)
如果您使用的是Apache服务器,.htaccess 文件中的重写规则也可能导致强制跳转。
- 找到文件:通过FTP或主机文件管理器,进入网站根目录,找到
.htaccess文件。 - 编辑文件:打开
.htaccess文件。 - 检查重写规则:查找是否包含
RewriteCond和RewriteRule,并且规则中包含了移动端跳转的逻辑。RewriteEngine On # 检测 User-Agent 是否为移动设备 RewriteCond %{HTTP_USER_AGENT} "android|blackberry|iphone|ipod|iemobile|opera mobile|palmos|webos|googlebot-mobile" [NC] # 如果是,则跳转到手机站 RewriteRule ^(.*)$ http://您的手机站域名/$1 [L,R=302] - 删除或注释规则:如果找到了类似的规则,将其整个部分删除,或者在每行开头加上 将其注释掉。
# RewriteEngine On # # 检测 User-Agent ... # # RewriteRule ...
- 保存文件:保存
.htaccess文件。
检查插件或模块
某些第三方插件或模块也可能实现移动端跳转功能。
- 登录后台:进入DedeCMS后台。
- 检查插件:在左侧菜单中,点击 【模块】 -> 【模块管理】 或 【插件管理】,查看是否有与“移动站”、“手机站”、“响应式”相关的插件。
- 禁用插件:如果有,尝试将其禁用,然后看问题是否解决。
总结与排查步骤建议
遇到这个问题,请按照以下顺序进行排查,通常能快速定位并解决问题:
- 第一步:登录后台 -> 系统基本参数 -> 核心设置,将 “是否启用移动站” 设置为 “否”,这是90%情况下解决问题的方法。
- 第二步:如果第一步无效,检查模板
head.htm文件,手动删除其中的跳转脚本。 - 第三步:如果仍然无效,检查根目录下的
.htaccess文件,注释掉可能存在的移动端重写规则。 - 第四步:检查后台的插件/模块列表,禁用可疑的第三方插件。
完成操作后,请务必清除浏览器缓存(可以使用 Ctrl + F5 强制刷新,或使用浏览器的“无痕/隐私模式”进行测试),因为缓存可能会导致您看不到修改后的效果。
希望这些步骤能帮助您解决问题!
