首页 » 二次开发 » 阅读文章

对DISCUZX版块和贴子的URL进行目录化伪静态

2014-06-18 10:10 10137 0 发表评论
标签:

合理的网站结构应该是一个扁平的树型网状结构这样的网站利于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;

然后在”论坛”-“版块管理”中的”绑定别名”即是版块目录名。

最后“工具”-“更新缓存”,即实现了版块目录化,贴子目录化

本文地址:http://www.jwzzsw.com/archives/1723.html

文章作者:思悟
版权所有 © 转载时请以链接形式注明作者和原始出处!

评论 共0条 (RSS 2.0) 发表评论

  1. 暂无评论,快抢沙发吧。

发表评论

联系我 Contact Me

回到页首