电工学习网

 找回密码
 立即注册
查看: 2797|回复: 1
打印 上一主题 下一主题

Discuz移动手机触屏版链接删除尾巴mobile=2的方法

[复制链接]
跳转到指定楼层
楼主
发表于 2018-9-1 19:53:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现在玩手机的越来越多,DZ的手机模板地位也越来越高,DZ手机版又分触屏版和简易版。现在简易版已经毫无意义,一般说DZ的手机模板就指触屏版。
我们用来区分手机版是触屏版还是简易版等链接是通过&mobile=X来区分。所以现在基本上是&mobile=2;
那么问题就来了,带有&mobile=2的链接在PC上访问是进入misc.php?mod=mobile这个页面,有人会说这有什么关系呢?
这就得说说我们最最关心的了,搜索引擎现在也在大力发展手机方面内容,它有可能收录到带有&mobile=2的链接,那么在PC上访问到这样的链接就惨不忍睹了。
方法如下:
第一步:
找到文件/source/class/helper/helper_mobile.php中:
$content = preg_replace("/href=\"(\w+\.php)(.*?)\"/e", "mobilereplace('\\1', '\\2')", $content);

将其删除或者注释掉即可;
第二步:
查找文件/source/function/function_core.php中:
function dheader($string, $replace = true, $https_response_code = 0)

将其下面的:
if(defined('IN_MOBILE') && strpos($string, 'mobile') === false && $islocation) {
                if (strpos($string, '?') === false) {
                        $string = $string.'?mobile='.IN_MOBILE;
                } else {
                        if(strpos($string, '#') === false) {
                                $string = $string.'&mobile='.IN_MOBILE;
                        } else {
                                $str_arr = explode('#', $string);
                                $str_arr[0] = $str_arr[0].'&mobile='.IN_MOBILE;
                                $string = implode('#', $str_arr);
                        }
                }
        }
删除或者注释掉即可。
这样做之后再手机上访问和PC上访问的是同一个链接,也能正常访问手机版,需要注意的是要设置默认手机版是触屏版,相信现在没人不是这么设置。
这样修改还有一个好处就是理论上会减些轻服务器负担,提升速度虽然人难体会得到。
本站已完成改造。

回复

使用道具 举报

沙发
发表于 2019-1-17 22:32:40 | 只看该作者
非常感谢楼主分享,学习了。

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

电工学习网 ( )

GMT+8, 2024-4-19 14:00

Powered by © 2011-2022 www.diangon.com 版权所有 免责声明 不良信息举报

技术驱动未来! 电工学习网—专业电工基础知识电工技术学习网站。

栏目导航: 工控家园 | 三菱plc | 西门子plc | 欧姆龙plc | plc视频教程

快速回复 返回顶部 返回列表