小草根

Discuz X3.3 X3.2 URL伪静态版块目录化和帖子目录化教程

作者:小草根   发布时间:2014-10-24 08:59   回复数:5   浏览数:9536
小草根
95365小草根管理员
热门 2014-10-24 08:59:13
95365 热门 2014-10-24 08:59:13
网站权重是:二级域名>目录>静态页>动态页。规范的URL是使整站URL目录化,目录层次不超过2个.因此DZ论坛URL伪静态版块目录化和贴子目录化对于SEO是个很好的方法.


打开source\function下的function_core.php 查找
if($type == 'forum_forumdisplay') {
       list(,,, $fid, $page, $extra) = func_get_args();
       $r = array(
           '{fid}' => empty($_G['setting']['forumkeys'][$fid]) ? $fid : $_G['setting']['forumkeys'][$fid],
           '{page}' => $page ? $page : 1,
       );
   } elseif($type == 'forum_viewthread') {
       list(,,, $tid, $page, $prevpage, $extra) = func_get_args();
       $r = array(
           '{tid}' => $tid,
           '{page}' => $page ? $page : 1,
           '{prevpage}' => $prevpage && !IS_ROBOT ? $prevpage : 1,
       );将上述代码修改为:
if($type == 'forum_forumdisplay') {
        list(,,, $fid, $page, $extra) = func_get_args();
        $r = array(
            '{fid}' => empty($_G['setting']['forumkeys'][$fid]) ? $fid : $_G['setting']['forumkeys'][$fid],
            '{page}' => $page ,
        );
    } elseif($type == 'forum_viewthread') {
        list(,,, $tid, $page, $prevpage, $extra) = func_get_args();
        $fid = DB::result_first(\"SELECT fid FROM \".DB::table('forum_thread').\" WHERE tid = '$tid'\");
        $r = array(
            '{fid}' => empty($_G['setting']['forumkeys'][$fid]) ? $fid : $_G['setting']['forumkeys'][$fid],
            '{tid}' => $tid,
            '{page}' => $page ,
            '{prevpage}' => $prevpage && !IS_ROBOT ? $prevpage : 1,
        );

网站后台->全局->”seo设置”->”url静态化”在”论坛主题列表页”的格式中填写:{fid}/{page}在”论坛主题内容页”的格式中填写:{fid}/m{tid}/{page}

图片:论坛主题内容页.jpg






在伪静态规则(.htaccess文件,一般在根目录下),记事本打开,在最后添加如下规则:
## 保留前面的部分可以不影响已经被搜索引擎收录的页面
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule /m([0-9]+)(/([0-9]+))?(/)?$ forum.php?mod=viewthread&tid=$1&extra=page\%3D$5&page=$3&%1 [L,NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^([0-9a-z_]+)(/([0-9]+))?(/)?$ forum.php?mod=forumdisplay&fid=$1&page=$3&%1 [L,NC]



然后工具,更新缓存,即实现了版块目录化,帖子目录化在”论坛”-”版块管理”中的”绑定别名”即是版块目录名:

图片:版块目录名.jpg




草根8号
沙发草根8号步入草根 2016-06-30 17:36
nginx 如何设置
网民游戏
板凳网民游戏步入草根 2017-09-02 22:59
这个设置,设置好了以后,为什么板块上不了主导航了,还有后缀没有htmi
可以有么?
乐酷虎
地板乐酷虎步入草根 2017-12-16 15:51
这个有哪位高手设置成功吗
还是第一次
4楼还是第一次步入草根 2018-01-10 16:33
乐酷虎 发表于 2017-12-16 15:51
这个有哪位高手设置成功吗


设置成功了!
私服联盟
5楼私服联盟 2018-12-07 18:43
板块连接 和帖子连接是目录化了 可是打开404
http://bbs.sifulianmeng.com/2/
http://bbs.sifulianmeng.com/2/m2239/
游客
登录后才可以回帖,登录 或者 注册