Discuz! X3.4 SEO手机伪静态设置原理和方法
dz伪静态 手机版竟然没有!插件卖钱的。
手动处理方法如下
后台开启伪静态,seo选项
论坛主题列表页.论坛主题内容页 是必须开启的。
之后配置nginx或者apache 伪静态 此步不多介绍。
在移动版中,找到source\class\helper\helper_mobile.php中的函数 mobilereplace
55行 或者最后一个类,
就是下面代码第9行 ,把原来的 return $replace; 换成 $replace=mbrewriteoutput($replace);
- public static function mobilereplace($file, $replace) {
- if(strpos($replace, 'mobile=') === false) {
- if(strpos($replace, '?') === false) {
- $replace = 'href="'.$file.$replace.'?mobile='.IN_MOBILE.'"';
- } else {
- $replace = 'href="'.$file.$replace.'&mobile='.IN_MOBILE.'"';
- //$replace=str_replace('&mobile=2','',$replace);
- $replace=mbrewriteoutput($replace);
- }
- return $replace;
- } else {
- return 'href="'.$file.$replace.'"';
- }
- }
复制代码
然后在source/function/function_core.php中增加函数
(从最后网上上,末尾找到 if(PHP_VERSION < '7.0.0') { ,在其上面添加)
- function mbrewriteoutput($eurl)
- {
- if(strstr($eurl,"forum.php?mod=forumdisplay&fid="))
- {
- $eurl=str_replace('&mobile=2','',$eurl);
- $fidarr=explode("fid=",$eurl);
- $fid=$fidarr[1];
- $fid=str_replace('"','',$fid);
- $eurl=str_replace('forum.php?mod=forumdisplay&fid='.$fid,'forum-'.$fid.'-1.html',$eurl);
- $eurl=str_replace('forum.php?mod=forumdisplay&fid='.$fid,'forum-'.$fid.'-1.html',$eurl); return $eurl;
- }
- elseif(strstr($eurl,"forum.php?mod=viewthread&tid=")){ $eurl=str_replace('&extra=page%3D1&mobile=2','',$eurl); $tidarr=explode("tid=",$eurl);
- $tid=$tidarr[1];
- $tid=str_replace('"','',$tid);
- $eurl=str_replace('forum.php?mod=viewthread&tid='.$tid,'thread-'.$tid.'-1-1.html',$eurl);
- $eurl=str_replace('forum.php?mod=viewthread&tid='.$tid,'thread-'.$tid.'-1-1.html',$eurl);
- return $eurl; }elseif(strstr($eurl,"forum.php?forumlist=1&mobile=2")){ $eurl=str_replace('forum.php?forumlist=1&mobile=2','https://www.wgpro.com/',$eurl); return $eurl;
- } return $eurl;
- }
- //在这上面添加 以上部分 18行 有一个网址 改成自己的
- //(以下内容不用帖,是定位地址)
- if(PHP_VERSION < '7.0.0') {
- function dpreg_replace($pattern, $replacement, $subject, $limit = -1, &$count) {
- return preg_replace($pattern, $replacement, $subject, $limit, $count);
- }
- } else {
- function dpreg_replace($pattern, $replacement, $subject, $limit = -1, &$count) {
- require_once libfile('function/preg');
- return _dpreg_replace($pattern, $replacement, $subject, $limit, $count);
- }
- }
复制代码
这样就可以实现手机伪静态
|