首页 » 二次开发 » 阅读文章
对DISCUZX版块和贴子的URL进行目录化伪静态
合理的网站结构应该是一个扁平的树型网状结构这样的网站利于seo优化。那我们如何对DISCUZX进行目录伪静态化?
首先
打开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 ? ($page>1?’p’.$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 ? $page : 1,
‘{prevpage}’ => $prevpage && !IS_ROBOT ? $prevpage : 1,
);
}
然后进入网站后吧->”seo设置”->”url静态化”
在”论坛主题列表页”的格式中填写:{fid}/{page}
在”论坛主题内容页”的格式中填写:{fid}/{tid}-{page}-{prevpage}.html
NGINX伪静态规则:
rewrite ^([^\.]*)/(\w+)/p([0-9]+)$ $1/forum.php?mod=forumdisplay&fid=$2&page=$3 last;
rewrite ^([^\.]*)/(\w+)/([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=viewthread&tid=$3&extra=page%3D$5&page=$4 last;
rewrite ^([^\.]*)/(\w+)/$ $1/forum.php?mod=forumdisplay&fid=$2 last;
然后在”论坛”-“版块管理”中的”绑定别名”即是版块目录名。
最后“工具”-“更新缓存”,即实现了版块目录化,贴子目录化
评论 共0条 (RSS 2.0) 发表评论