重要提醒:操作前务必备份!
在进行任何代码修改之前,请务必备份您的网站文件和数据库,以防操作失误导致网站无法访问。
删除 head 中的 JS 跳转代码(最常见)
这种跳转通常是一段JavaScript代码,通过检测浏览器UA(用户代理)来判断是手机还是电脑,然后执行 window.location.href 进行跳转。
找到并修改文件
这段代码通常位于您网站的首页模板文件中,路径一般为:
/templets/default/index.htm
少数情况下,也可能在公共的头部模板文件中,路径为:
/templets/default/head.htm
如何识别这段代码
打开 index.htm 或 head.htm 文件,在 <head> 和 </head> 标签之间,寻找类似下面这样的JavaScript代码:
<script type="text/javascript">
// 手机端跳转代码示例
var url = window.location.href;
if (navigator.userAgent.match(/(iPhone|iPod|iPad|Android|ios|BlackBerry|IEMobile|Opera Mini)/i)) {
// 跳转到手机版网址,可能是m.yourdomain.com
window.location.href = "https://m.yourdomain.com" + url;
}
</script>
或者更复杂的版本,可能包含 GetUrl() 函数等。
删除方法
找到上述代码块后,直接将整个 <script> ... </script> 标签及其内部的所有内容删除即可。
验证
删除后,保存文件并刷新您的网站首页,然后使用浏览器的“开发者工具”(按F12)切换模拟手机设备,看是否还会自动跳转到其他网址。
删除 PHP 服务器端跳转代码
有些网站会在PHP文件中进行跳转,这通常发生在 index.php 文件中,这种跳转更隐蔽,用户在请求页面时服务器就已经决定了跳转。
找到并修改文件
打开您网站根目录下的 index.php 文件。
如何识别这段代码
在 index.php 文件的开头,require_once(dirname(__FILE__)."/include/common.inc.php"); 这行代码之前,寻找类似下面的PHP代码:
<?php
// PHP服务器端跳转代码示例
if (isset($_SERVER['HTTP_USER_AGENT']) && preg_match('/(iPhone|iPod|iPad|Android|ios|BlackBerry|IEMobile|Opera Mini)/i', $_SERVER['HTTP_USER_AGENT'])) {
// 跳转到手机版
header("Location: https://m.yourdomain.com");
exit();
}
?>
删除方法
找到这段PHP代码后,直接将其全部删除,同样要确保删除 验证 保存 织梦的模板引擎使用 这种情况比较少见,但可能表现为:点击某个链接后,会自动重定向到手机版。 如何识别 检查您的模板文件(如 检查这些标签的 删除方法 如果发现标签内部或外部有额外的JS函数调用来实现跳转,请移除这些函数调用,将: 修改为: 如果您的网站开启了伪静态,那么跳转规则可能写在 找到并修改文件 打开网站根目录下的 如何识别这段代码 在文件中寻找 删除方法 找到上述 验证 保存 如果不确定是哪种情况,可以按照以下顺序排查: 通过以上步骤,您应该能成功找到并删除织梦CMS的手机端跳转代码。<?php 和 ?>
index.php 文件后,刷新网站,并用手机浏览器访问,看是否还会跳转。
删除
dedecms 标签中的跳转逻辑{dede:} 标签,有时跳转逻辑可能被封装在这些标签里,尤其是在调用文章或列表时。index.htm, list_article.htm, article_article.htm 等),寻找类似这样的标签:<a href="{dede:field name='arcurl'/}" target="_blank">
{dede:field name='title'/}
</a>
href 属性,如果它指向的不是正常的文章链接,而是包含了一些判断逻辑(比如通过JS函数),那么这里就是问题所在。<a href="javascript:jumpToMobile('https://m.yourdomain.com/123.html')" target="_blank">文章标题</a>
<a href="{dede:field name='arcurl'/}" target="_blank">文章标题</a>
删除
.htaccess 文件中的跳转规则.htaccess 文件中,这是一种服务器级别的重定向,非常高效。.htaccess 文件。RewriteCond 和 RewriteRule 的组合,用于检测移动设备UA并进行重定向,代码可能类似下面这样:# .htaccess 手机跳转规则示例
RewriteCond %{HTTP_USER_AGENT} "android|blackberry|googlebot-mobile|iemobile|ipad|iphone|ipod|opera mobile|palmos|webos" [NC]
RewriteRule ^(.*)$ https://m.yourdomain.com/$1 [L,R=302]
RewriteCond 和 RewriteRule 块,将它们整个块删除,注意保留其他不相关的伪静态规则。.htaccess 文件后,清除浏览器缓存或使用无痕模式访问网站进行测试。
总结与排查步骤
/templets/default/index.htm,90%的跳转代码都在这里,重点看 <head> 标签里的 <script>。/templets/default/head.htm。/index.php 文件的最顶端。.htaccess 文件。
