Discuz! X2.5实现URL中文TAG标签伪静态的方法

随着百度对中文URL的识别,部门SEOER人士推断百度或将对中文URL更加友好?
阅读延伸:百度识别中文URL,tags中文标签或将更友好?

言归正传:
Discuz X2后台不能设置TAG的伪静态,为了实现伪静态需要自己修改,这个不能不说是Discuz开发者的疏忽。
根据以往的经验,由于TAG的聚合功能,在流量积累和内链方面的作用是非常大的,但是纵观Discuz的各版本,实现的都不好。做的最好的是Discuz 6.0 7.2 ,实现了TAG的 tag-tag名称.html形式的伪静态,但是到了x1.5竟然取消了TAG功能,到了X2虽然又加上了TAG,却不能在后台设置伪静态。好在X2代码方面改进很大,非常灵活,我们可以通过修改实现TAG的伪静态。

当然前面我们已经讲到一种 DiscuzX2.5标签(tag)页伪静态修改方法(附规则)教程。但是那种方法是对TAG的ID作为URL链接的。本教程就为大家讲解一种Discuz! X2.5实现中文URL标签伪静态的方法。

工作分两步,这也是大部分伪静态需要的步骤:
第一步,修改程序中的链接地址格式:
修改下面几个文件:
\template\default\tag\tag.htm中,将
misc.php?mod=tag&id=$tag
复制代码
改为
tag-$tag.html
复制代码
文件\template\default\tag\tagitem.htm中,将
misc.php?mod=tag&id=$id
复制代码
改为
tag-$tag.html
复制代码
文件\template\defaultforum\viewthread_node.htm中,找到:
misc.php?mod=tag&id=$var
复制代码
改为
tag-$var.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名称等各种形式,这里不再细讲。

具体的TAG中文URL标签效果:http://bbs.downzz.com/tag-discuz模板.html

分類