大家都知道在discuz程序中,伪静态化后,门户文章跟帖子内容都可以设置成功并能正常的访问,
但是在论坛帖子的列表页却还是动态的地址:http://www.52hgn.com/forum.php?gid=40 比如这种,
我们想把他变成这种静态地址:http://www.52hgn.com/forum-40.html 比如这种,本站已经实现,不相信的可以访问看看。
如果上面的示例是大家所需要的,那么可以接续往下看,如果不是就没有必须继续往下看了,那么接下来讲一下怎么实现帖子主题列表伪静态化的方法。
第一步:【修改模板和去除面包屑导航中的url动态部分】
打开 templates/default/discuz.htm (如果你用的不是默认的模板,那么把default换成你的模板名称 即templates/xxx/discuz.htm,或者templates/xxx/discuz.php)
打开这个文件后 按 ctrl+f 寻找
forum.php?gid=$cat[fid]
修改为
forum-$cat[fid].html
第二步:【修改板块页中的url的动态部分】
打开 source/module/forum/forum_forumdisplay.htm或者source/module/forum/forum_forumdisplay.php文件
1.打开这个文件后 按 ctrl+f 寻找
Location: forum.php?gid=$_G[fid]
修改为
Location: forum-$_G[fid].html
2.继续寻找
forum.php?gid=’.$forum_up[‘fid’].’
修改为
forum-‘.$forum_up[‘fid’].’.html
3,继续寻找
forum.php?gid=’.$forum_top[‘fid’].’
修改为
forum-‘.$forum_top[‘fid’].’.html
第三步:【修改帖子页面url动态链接部分】
打开文件source/module/forum/forum_viewthread.php后,
打开这个文件后 按 ctrl+f 寻找
? ‘forum.php?gid=’.$fup :
你会搜索到两个地方有这个代码,然后你把这两个地方都修改为
? ‘forum-‘.$fup.’.html’ :
第四步:【修改发帖页面url动态链接地址部分】
打开这个文件后 按 ctrl+f 寻找
? ‘forum.php?gid=’.$fup :
你会搜索到两个地方有这个代码,然后你把这两个地方都修改为
? ‘forum-‘.$fup.’.html’ :
第五步:【dicuz的伪静态规则】
查看自己的服务器的环境,复制下面对应的伪静态规则添加到自己discuz的论坛规则里面
nginx伪静态规则:
rewrite ^([^.]*)/forum-([0-9]+).html
1/forum.php?gid=$2 last;
apache伪静态规则:
RewriteRule ^(.)/forum-(\w+).html(\?(.))*
到这里,重启下机器就可以了 本文由花姑娘论坛站长纯手打出来的,如果帮您解决了问题,
请支持一下www.52hgn.com花姑娘论坛
此方法测试的网站环境是linux的服务器 +nginx +mysql +php的环境,discuz的版本为x3.2的GBK版本。