织梦删除手机端跳转代码

99ANYc3cd6
预计阅读时长 12 分钟
位置: 首页 织梦建站 正文

重要提醒:操作前务必备份!

在进行任何代码修改之前,请务必备份您的网站文件和数据库,以防操作失误导致网站无法访问。


删除 head 中的 JS 跳转代码(最常见)

这种跳转通常是一段JavaScript代码,通过检测浏览器UA(用户代理)来判断是手机还是电脑,然后执行 window.location.href 进行跳转。

找到并修改文件

这段代码通常位于您网站的首页模板文件中,路径一般为: /templets/default/index.htm

少数情况下,也可能在公共的头部模板文件中,路径为: /templets/default/head.htm

如何识别这段代码

打开 index.htmhead.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代码后,直接将其全部删除,同样要确保删除 <?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函数),那么这里就是问题所在。

删除方法

如果发现标签内部或外部有额外的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 文件。

如何识别这段代码

在文件中寻找 RewriteCondRewriteRule 的组合,用于检测移动设备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]

删除方法

找到上述 RewriteCondRewriteRule 块,将它们整个块删除,注意保留其他不相关的伪静态规则。

验证

保存 .htaccess 文件后,清除浏览器缓存或使用无痕模式访问网站进行测试。


总结与排查步骤

如果不确定是哪种情况,可以按照以下顺序排查:

  1. 首先检查 /templets/default/index.htm,90%的跳转代码都在这里,重点看 <head> 标签里的 <script>
  2. 如果首页没有,检查 /templets/default/head.htm
  3. 如果模板文件里没有,检查 /index.php 文件的最顶端。
  4. 如果以上都没有,检查网站根目录的 .htaccess 文件。
  5. 检查其他可能的自定义模板文件,如列表页、文章页等。

通过以上步骤,您应该能成功找到并删除织梦CMS的手机端跳转代码。

-- 展开阅读全文 --
头像
dede根目录标签 dede
« 上一篇 02-03
C语言readfile函数如何正确使用?
下一篇 » 02-03

相关文章

取消
微信二维码
支付宝二维码