仿地宝网URL版块目录化伪静态和贴子目录化伪静态
discuz默认是提供简单的扁平的树型网状结构优化的,而有些用户可能更希望实现版块目录化甚至帖子目录化,那么默认的规则是无法实现的,大家不了解伪静态的可以先看看Discuz! X2.5论坛不同环境配置伪静态的方法,然后再结合下面的方法来修改就可以实现目录化伪静态了。此方法需要修改源码,修改前请备份好修改文件
首先
打开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}
然后工具,更新缓存,即实现了版块目录化,贴子目录化,在"论坛"-"版块管理"中的"绑定别名"即是版块目录名:然后查看伪静态规则,把规则覆盖之前的默认伪静态规则,再测试即可完成版块和帖子的目录化伪静态。专题想目录伪静态请看:Discuz x论坛专题目录化伪静态设置方法。
页:
[1]