- 积分
- 127886
- 在线时间
- 小时
- 注册时间
- 2010-9-23
- 最后登录
- 1970-1-1
|
DX2 RC 就快要发布了,新版本里有大家期待的众多新功能,但大家期待的版块目录化就目前的版本来看还没有实现.版块目录化的好处我想在这里就不用多说了,在未来我想也会成为趋势.
我和大多数草根站长一样,热衷于discuz,但又对PHP不熟,也没有专门的去学过,这个功能也是研究过很多天才研究出来.
下面就把版块目录化分享给大家,希望对喜欢这个功能的人有用.
首先说明下,这是在Apache Web Server(虚拟主机用户)环境下测试可以用的,其他环境未测式.如果你是Apache虚拟主机用户的话并且主机支持伪静态,那么可以根据以下操作方法实现我们的"版块目录化".
第一步:
进入后台--论坛--编辑版块--基本设置--绑定别名.
这里以上图为例,我们填写为"yizhi",当然你也可以填别的.
第二步:
后台--全局--SEO设置--URL 静态化.
将"论坛主题列表页"格式更改为"{fid}/{page}",然后勾选"可用"点击提交.
第三步:
编辑你网站目录下伪静态规则文件".htaccess",如果没有此文件,下面附件我提供.
将
- RewriteRule ^forum-(\w+)-([0-9]+)\.html$ forum.php?mod=forumdisplay&fid=$1&page=$2&%1
复制代码
更改为
- RewriteRule ^(\w+)/([0-9]+)$ forum.php?mod=forumdisplay&fid=$1&page=$2&%1
复制代码
然后在最下行增加一句规则:
- RewriteCond %{QUERY_STRING} ^(.*)$
- RewriteRule ^(\w+)/$ forum.php?mod=forumdisplay&fid=$1
复制代码
这一句规则就是版块目录化规则.
第四步:
网站目录:source/function/function_core.php
首先我们把这个文件复制一份留作备份.以便你不需要此功能后可以直接恢复.
然后我们用DW编辑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,
- );
复制代码
将
- '{page}' => $page ? $page : 1,
复制代码 更改为
然后保存.
最后一步,更新缓存.到首页看看效果吧,是不是实现版块目录化了呢?
|
|