forum.php gid1,Discuz!论坛分区版块(gid)伪静态处理的方法

在做完Discuz!论坛全站伪静态(Discuz!论坛全站伪静态方法)之后,余斗发现一个问题,就是分区版块的链接并没有被静态化,还是下面这种格式:/forum.php?gid=1,余斗想要实现伪静态为:/gid-1.html。需要进一步处理,其实很简单,两步即可:

一、修改模板文件 template/default/forum/discuz.htm,找到代码(大概在第345行):

forum.php?gid=$cat[fid]

修改为:

gid-$cat[fid].html

修改版块页模板文件 source/module/forum/forum_forumdisplay.php,找到代码(大概在第19行):

Location: forum.php?gid=$_G[fid]

修改为:

Location: gid-$_G[fid].html

找到代码 (大概在第75行):

forum.php?gid='.$forum_up['fid'].'

修改为:

gid-'.$forum_up['fid'].'.html

找到代码 (大概在第84行):

forum.php?gid='.$forum_top['fid'].'

修改为:

gid-'.$forum_top['fid'].'.html

修改帖子模板文件 :打开 source/module/forum/forum_viewthread.php 文件,找到代码(大概在第131和137行共两处):

? 'forum.php?gid='.$fup :

修改为:

? 'gid-'.$fup.'.html' :

修改发帖页模板文件 :打开 source/module/forum/forum_post.php 文件,找到代码(大概在第125和131行共两处):

? 'forum.php?gid='.$fup :

修改为:

? 'gid-'.$fup.'.html' :

二、把以下伪静态规则加入到我们做好的伪静态规则中,IIS服务器添加:

RewriteCond %{QUERY_STRING} ^(.*)$

RewriteRule ^gid-([0-9]+)\.html$ forum.php?gid=$1%1

Apache服务器添加:

RewriteRule ^(.*)/gid-([0-9]+)\.html(\?(.*))*$ $1/forum\.php\?gid=$2

最后要注意的是,这段伪静态规则一样要加在栏目规则的伪静态规则上面,Apache的是:

RewriteCond %{QUERY_STRING} ^(.*)$

RewriteRule ^forum-(\w+)-([0-9]+)\.html$ forum.php?mod=forumdisplay&fid=$1&page=$2&%1

IIS的是:

RewriteCond %{QUERY_STRING} ^(.*)$

RewriteRule ^forum-(\w+)-([0-9]+)\.html$ forum.php?mod=forumdisplay&fid=$1&page=$2&%1

附余斗完整的Discuz!伪静态规则文件(Apache服务器中的.htaccess文件)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值