crx349 发表于 2015-2-27 16:12:51

Discuz! x3.2标签tag伪静态解决方案之一

标签页演示:
标签首页:tag.html
标签默认内容页:tag-274.html
标签相关帖子页:tag-thread-274-1.html
标签相关日志页:tag-blog-274-1.html

特别提示:演示地址请以本介绍给出的URl为准。
(一)、伪静态规则添加

WIN的添加(httpd.ini)伪静态规则:
RewriteRule ^(.*)/tag-(.+)\.html*$ $1/misc.php\?mod=tag&id=$2
RewriteRule ^(.*)/tag\.html*$ $1/misc.php\?mod=tag



linux系统(.htaccess或httpd.conf)伪静态规则:
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^tag-(.+)\.html$ misc.php?mod=tag&id=$1
RewriteCond %{QUERY_STRING} ^(.*)
$RewriteRule ^tag\.html$ misc.php?mod=tag

Nginx伪静态规则:
rewrite ^([^\.]*)/tag-(.+)\.html$ $1/misc.php?mod=tag&id=$2 last;
rewrite ^([^\.]*)/tag\.html$ $1/misc.php?mod=tag last;



确保最后一行伪静态规则为:
RewriteRule ^(+*)-(+)\.html$ plugin.php?id=$1:$2&%1




(二)、修改帖子内标签链接(修改原程序文件建议备份,养成好习惯)

X3.2是 template/default(模板目录)/forum/viewthread_node_body.htm下载到本地打开

查找:
<a title="$var" href="misc.php?mod=tag&id=$var" target="_blank">$var</a>



替换为:
<a title="$var" href="tag-$var.html" target="_blank">$var</a>



(三)、修改标签页(tag.htm)标签链接


文件在template/default/tag/tag.htm


查找:
<a href="misc.php?mod=tag&id=$tag" title="$tag" target="_blank" class="xi2">$tag</a>



替换为:
<a href="tag-$tag.html" title="$tag" target="_blank" class="xi2">$tag</a>



(四)、修改标签列表页导航链接tagitem.htm

文件在template/default/tag/tagitem.htm (共2处!)

查找1:
<a href="misc.php?mod=tag">{lang tag}</a>




替换为:
<a href="tag.html">{lang tag}</a>




查找2:
<a href="misc.php?mod=tag&id=$id">$tagname</a>



替换为:
<a href="tag-$id.html">$tagname</a>




(五)、最后修改robort.txt让蜘蛛爬行标签页.

删除或注释掉根目录下misc.php的这段代码
$discuz->reject_robot();



robots.txt文件删除以下两条禁止蜘蛛抓取的规则:

Disallow: /misc.php
Disallow: /*?mod=misc*

上传替换,完成修改!这时候就完成了标签伪静态了....

测试效果:
http://www.xmspace.net/tag.html
http://www.xmspace.net/tag-1.html
页: [1]
查看完整版本: Discuz! x3.2标签tag伪静态解决方案之一