最近帮企业建立了discuz论坛,但是在所有程序完成并在后台设置了伪静态之后,发现导航栏仍是动态URL链接,而论坛版块及帖子内容则都是伪静态的,经过查找分析原因,知道是因为Discuz x3.1默认是不支持导航(即分区)伪静态的,很多站长都在这时直接放弃了全站伪静态或实现帖子内容伪静态就满足了,可是Discuz x3.1对导航(即分区)实现伪静态还是有一定的方法的,下面就为大家分享下Discuz x3.1 Apache虚拟空间伪静态设置教程。
1、首先要确定Discuz! 程序版本、服务器系统及PHP、服务器软件等信息,如下图:
2、在Discuz! 后台进入全局--Seo设置--URL静态化,将以下可用复选框全部选中,如下图:
3、在Discuz! 后台进入全局--Seo设置,点击 ”查看当前的Rewrite规则“,选择”Apache Web Server(虚拟主机用户)“这个规则,如下图:
4、新建记事本,将上图内容复制到记事本,另存为,文件名为.htaccess.
5、将.htaccess文件上传到网站根目录;
以上完成论坛版块及帖子内容的伪静态,下面则需要对导航(即分区)实现伪静态。
1、修改模板:
打开templates/defaul文件,将"$cat[fid]"修改为"forum-$cat[fid].html";
2、修改.htaccess:
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^forum-(\w+)\.html$ forum\.php\?gid=$1&$1
将以上代码放在article那个RewriteRule的下面即可。
到此,Discuz! x3.1 Apache虚拟空间伪静态设置全部完成,此教程目前只在X3.1版本测试过,其它版本大家可以试下,解决方法都差不多,若有问题可以留言交流。