Discuz X2 TAG伪静态设置-实现Discuz7.2形式的伪静态
Discuz X2后台不能设置TAG的伪静态,为了实现伪静态需要自己修改,这个不能不说是Discuz开发者的疏忽。
根据以往的经验,由于TAG的聚合功能,在流量积累和内链方面的作用是非常大的,但是纵观Discuz的各版本,实现的都不好。做的最好的是Discuz 6.0 7.2 ,实现了TAG的 tag-tag名称.html形式的伪静态,但是到了x1.5竟然取消了TAG功能,到了X2虽然又加上了TAG,却不能在后台设置伪静态。好在X2代码方面改进很大,非常灵活,我们可以通过修改实现TAG的伪静态。
我是在升级美国主机侦探的时候遇到这个问题的,美国主机侦探论坛一直用的是6.0,所以为了URL保持一致,我下面说的方法是如何实现类似于Discuz6的伪静态的方法,其他形式的URL大家根据下面的方法只要改了对应的链接格式和Rewrite语句即可。
工作分两步,这也是大部分伪静态需要的步骤:
第一步,修改程序中的链接地址格式:
修改下面几个文件:
\template\default\tag\tag.htm中
将misc.php?mod=tag&id=$tag[tagid] 改为 tag-$tag[tagname].html
\template\default\tag\tagitem.htm中
将 misc.php?mod=tag&id=$id 改为 tag-$tag[tagname].html
\template\defaultforum\viewthread_node.htm中
找到:
<!–{if $tagi}–>, <!–{/if}–><a title="$var[1]" href="misc.php?mod=tag&id=$var[0]" target="_blank">$var[1]</a>
将 misc.php?mod=tag&id=$var[0] 改为 tag-$var[1].html
其他页面如果发现TAG地址是动态的,找到对应的模板文件做对应的修改即可,主要就是这几个文件。
第二步:设置伪静态的rewrite规则
这步是关键的一步,设置好伪静态规则,才能保证上面写的“假地址”可以访问的正确的内容。
我这里给出的是Apache虚拟主机环境下的Rewrite规则,放到.htaccess文件中即可(放在Discuz伪静态规则的下方):
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^tag-(.+)\.html$ misc.php?mod=tag&name=$1&%1
至此就设置完成了。
这里实现的URL形式是 tag-tag名称.html 另外也可以设置成 tag/tag名称 等各种形式 ,个人更喜欢后一种形式,不过为了保持URL的一致性,美国主机侦探论坛就只能用前者了
SEO一直是Discuz的软肋,目前的X2版本也有很多地方不利于SEO,后面有时间再写其他的。Discuz x2的一大进步就是实现更灵活,所以可以根据自己的情况做很多自定义的修改。还是希望官方能够将这些简单的,但是对运营却至关重要的功能内置到后台中,这样就不用每次都修改了。
From 大漠网迹, post Discuz X2 TAG伪静态设置-实现Discuz7.2形式的伪静态
Post Footer automatically generated by wp-posturl plugin for wordpress.
Discuz我用弄了个论坛:www.mulxi.com
刚弄的,不准备做优化,麻烦
直接让朋友来看看得了