1. 首页
  2. SEO文章

DZ论坛分区伪静态如何去做?

对于使用dz论坛搭建站点的同学来说,首先做的可能就是论坛的伪静态,而dz官方给出的伪静态规则无法将论坛分区进行伪静态,有些时候因为一些不必要的因素影响收录,我们会在robots中屏蔽包含问号参数的页面,禁止搜索引擎收录,因此这里就会导致分区伪静态进行冲突,在这里给大家说一下分区伪静态的做法吧。

一、伪静态规则添加

不同的服务器环境也就有着不同的伪静态规则,因此我们需要根据自身的情况去添加一些相应的规则。
1、Nginx服务器Discuz分区伪静态规则:rewrite ^([^\.]*)/forum-([0-9]+)\.html$ $1/forum.php?gid=$2 last;
2、apache服务器Discuz分区伪静态规则:RewriteRule ^(.*)/forum-(\w+)\.html(\?(.*))*$ $1/forum\.php\?gid=$2&$4
这里建议搭建将上面的伪静态规则放在第二行,如果放在插件伪静态规则的下面容易出现打开页面提示“插件不存在或已关闭”的情况。

DZ论坛分区伪静态如何去做?

二、Discuz程序修改

如果用了不是默认主题的情况下我们需要找到对应模板的目录,比如默认模板的路径为template\default\,然后在找到forum目录下的discuz.htm文件。

1、discuz.htm文件修改

找到下面这串代码:
“<h2><a href=”{if !empty($caturl)}$caturl{else}forum.php?gid=$cat[fid] {/if}” style=”{if $cat[extra][namecolor]}color: {$cat[extra][namecolor]};{/if}”>$cat[name]</a></h2>”
将里面forum.php?gid=$cat[fid] 替换为 forum-$cat[fid].html

2、修改“source/module/forum/”目录下的文件

从网站根目录依次访问相应的目录source/module/forum/然后在找到forum_forumdisplay.php文件,当大家在修改文件的时候一定要先备份,然后在进行修改,不然容易导致程序无法完成分区伪静态。
将该页面下的
Location: forum.php?gid=$_G[fid] 替换为 Location: gid-$_G[fid].html
forum.php?gid=’.$forum_up[‘fid’].’ 替换为 gid-‘.$forum_up[‘fid’].’.html
forum.php?gid=’.$forum_top[‘fid’].’ 替换为 gid-‘.$forum_top[‘fid’].’.html

3、贴内面包屑导航分区动态链接修改

访问并修改文件: source/module/forum/forum_viewthread.php(这里修改替换的地方一共有2个)
将 ? ‘forum.php?gid=’.$fup : 替换为 ? ‘gid-‘.$fup.’.html’ :
打开 source/module/forum/forum_post.php 文件
将 ? ‘forum.php?gid=’.$fup : 替换为 ? ‘gid-‘.$fup.’.html’ : (共两处)
当完成上面的文件修改之后然后在上传相应的文件到相应的目录,打开DZ后台清理缓存,程序访问网站就可以看到dz论坛的伪静态完成了。

原创文章,作者:lichun,如若转载,请注明出处:http://www.lichunseo.com/seowz/1776.html