discuz URL伪静态目录名别名替换fid

原创 2018年04月15日 21:14:57

那么什么是扁平的树型网状结构呢?
例如:首页:http://www.moke8.com
栏目页:http://www.moke8.com/discuzx/
内容页:http://www.moke8.com/discuzx/m826/
像这样的页面就是一个“扁平的树型网状结构”。每增加一个内容页,都会给栏目页增加一定的权重。像地宝网的URL就是很规范的,整站URL目录化,目录层次不超过2个。对于SEO是很有利的。

那么现在discuz官方的地址是怎么样的呢?
首页:http://www.discuz.net/forum.php
栏目页:http://www.discuz.net/forum-21-1.html
内容页http://www.discuz.net/thread-2281986-1-1.html
这样的URL是分散的,并不是网状结构,不利于权重的传递。

在这里魔客吧给大家提供一个方法,通过伪静态方法来实现discuzx的地址目录化(目前只支持Apache服务器)。

首先
打开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}

然后下载.htaccess文件,传到网站根目录
.htaccess.zip

然后工具,更新缓存,即实现了版块目录化,贴子目录化
在”论坛”-“版块管理”中的”绑定别名”即是版块目录名:
如:魔客吧官网的 discuzx模板 版块中的”绑定别名”为”discuzx”,那么访问地址就是:http://www.moke8.com/discuzx/

转自http://www.moke8.com/article-1597-1.html

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/viqecel/article/details/79953390

discuz手机端修改url

discuz的站需要做伪静态,修改url 本来是直接在最外层用ob函数来替换,pc端的可以,但是这个方法用在手机端的时候,发现失效,后来发现是手机端的php文件使用了函数清空了缓存ob_end_cl...
  • scchary
  • scchary
  • 2015-03-13 17:06:27
  • 1230

discuz面包屑导航优化,discuz伪静态优化教程

面包屑导航对于网站的优化尤其重要,而且跟用户体验也是息息相关的,那么discuz论坛程序面包屑导航该如何优化呢?下面和小编一起来看Discuz论坛面包屑导航优化,首页新帖伪静态教程。优化1:首页新发帖...
  • a1079540945
  • a1079540945
  • 2018-02-27 11:20:59
  • 96

discuz主题列表页伪静态化设置方法(lnmp+wamp+lamp通用)

大家都知道在discuz程序中,伪静态化后,门户文章跟帖子内容都可以设置成功并能正常的访问,但是在论坛帖子的列表页却还是动态的地址:http://www.52hgn.com/forum.php?gid...
  • qq_29035579
  • qq_29035579
  • 2016-11-11 14:44:00
  • 277

Discuz3.1或dz所有版本实现分区版块forum.php?gid= 伪静态的方法

教程如下: 第一步:找到并打开文件discuz.htm,    路径 \template\default\forum 找到以下代码: $cat[name] 把它替换...
  • hhao123456
  • hhao123456
  • 2014-03-14 16:15:49
  • 2256

Discuz! X3.0/X3.1/X3.2通用 Apache伪静态规则

1.在后台“全局》SEO设置》URL 静态化”相关复选框全部勾选,点“提交”按钮。 2.下载附件.htaccess直接用FTP上传到论坛根目录即可,不要修改文件名,就是.htaccess ...
  • mwb310
  • mwb310
  • 2016-10-24 17:12:02
  • 1887

修改discuz伪静态(后台-全局-SEO设置)

1,修改数据表common_setting 2,修改source/language/lang_admincp.php 3,替换原URL(function_admincp.php下的rewritedat...
  • CC_rmvb
  • CC_rmvb
  • 2017-01-05 10:29:53
  • 432

解决IIS7.5 IIS8下的discuzX3.2伪静态问题

在香港空间上面安装了discuz3.2版本后,并且他们在discuz官方论坛里找了一些网友提供的web.config伪静态代码并且修改了该文件,但是还出现500错误。 我们同事根据提供的...
  • bluepowerhk
  • bluepowerhk
  • 2016-11-16 10:53:48
  • 1791

【discuzx2】$catlist数组

Array( [163] => Array ( [fid] => 163 //版块fid或分区gid,注意:当是顶级版块时为fid与gid是一样的 ...
  • yanhui_wei
  • yanhui_wei
  • 2013-10-16 11:07:36
  • 1624

nginx下discuz! x3 伪静态化的配置

1. 在nginx的配置文件中,添加以下内容: rewrite ^([^\.]*)/topic-(.+)\.html$ $1/portal.php?mod=topic&topic=$2 last...
  • huangyuanmu
  • huangyuanmu
  • 2013-11-20 15:20:44
  • 5349

ECSHOP全站URL自定义插件自定义URL链接自定义目录文件名伪静态

  • 2014年07月09日 13:03
  • 108KB
  • 下载
收藏助手
不良信息举报
您举报文章:discuz URL伪静态目录名别名替换fid
举报原因:
原因补充:

(最多只允许输入30个字)