推荐应用
标签(TAG)目录化伪静态修改教程(附规则)
发布于 2013-11-12
使用discuz论坛的站长都知道discuz论坛系统不支持对TAG的伪静态,网上搜一下Discuz标签伪静态教程是很多,但是大多是针对2.5做的修改,今天酷米论坛站长分享一个针对DiscuzX3.1最新版TAG目录化伪静态,伪静态与目录化伪静态哪一个好大家可以看看《百度搜索引擎优化指南》v2.1.2,好了废话不多说,假面教程开始。
首先我们来看看Discuz默认的TAG标签页面是什么样子的:
标签首页:http://www.discuzlab.com/misc.php?mod=tag
标签内容页:http://www.discuzlab.com/www.discuzlab.com /misc.php?mod=tag&id=13
然而通过此教程改变以后的地址是:
标签首页:http://www.discuzlab.com/www.discuzlab.com /tag/
标签内容页:http://www.discuzlab.com/www.discuzlab.com /tag/13.html
下面修改开始,修改前请记得备份需要修改的文件,养成良好的习惯,我们想来修改帖子文章下面TAG的地址
打开 \template\default(模板目录)\forum\viewthread_node_body.htm
查找:$var[1]
替换为:$var[1]
这样帖子文章下的标签地址改变了,接着我们修改标签页标签链接的链接。
打开 \template\default\tag\tag.htm
查找:$tag[tagname]
替换为:$tag[tagname]
这样标签页的链接修改好了,接下来我么来修改标签列表页导航链接。
打开 \template\default\tag\tagitem.htm
查找:{lang tag}
替换为:{lang tag}
这样所有的页面的链接修改好了接下来我们加入伪静态规则,目前之支持win2003与Apache
Apache的规则为:
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^tag/(.+).html$ misc.php?mod=tag&id=$1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^tag/$ misc.php?mod=tag
win2003IIS6.0的规则为:
RewriteRule ^(.*)/tag/(.+)\.html*$ $1/misc.php\?mod=tag&id=$2
RewriteRule ^(.*)/tag/*$ $1/misc.php\?mod=tag
PS:以上规则一定要加在最后一条,即
RewriteRule ^(.*)/([a-z]+[a-z0-9_]*)-([a-z0-9_\-]+)\.html(\?(.*))*$ $1/plugin\.php\?id=$2:$3&$5
上面,否则不会成功,这条规则是插件伪静态的规则就算你的插件不需要伪静态你也要获取这条规则放到伪静态文件里面然后把本教程的规则放到这条规则的上面,获取到规则后你可以在SEO伪静态那里勾选掉插件伪静态。
教程到这里还没有完,
Discuz x3.1 默认禁止蜘蛛抓取标签页面,解决方法为:
删除或注释掉根目录下misc.php第18行的:$discuz->reject_robot(); 这段代码然后打开robots.txt文件删除一下两条禁止蜘蛛抓去的规则:
Disallow: /misc.php
Disallow: /*?mod=misc*
首先我们来看看Discuz默认的TAG标签页面是什么样子的:
标签首页:http://www.discuzlab.com/misc.php?mod=tag
标签内容页:http://www.discuzlab.com/www.discuzlab.com /misc.php?mod=tag&id=13
然而通过此教程改变以后的地址是:
标签首页:http://www.discuzlab.com/www.discuzlab.com /tag/
标签内容页:http://www.discuzlab.com/www.discuzlab.com /tag/13.html
下面修改开始,修改前请记得备份需要修改的文件,养成良好的习惯,我们想来修改帖子文章下面TAG的地址
打开 \template\default(模板目录)\forum\viewthread_node_body.htm
查找:$var[1]
替换为:$var[1]
这样帖子文章下的标签地址改变了,接着我们修改标签页标签链接的链接。
打开 \template\default\tag\tag.htm
查找:$tag[tagname]
替换为:$tag[tagname]
这样标签页的链接修改好了,接下来我么来修改标签列表页导航链接。
打开 \template\default\tag\tagitem.htm
查找:{lang tag}
替换为:{lang tag}
这样所有的页面的链接修改好了接下来我们加入伪静态规则,目前之支持win2003与Apache
Apache的规则为:
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^tag/(.+).html$ misc.php?mod=tag&id=$1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^tag/$ misc.php?mod=tag
win2003IIS6.0的规则为:
RewriteRule ^(.*)/tag/(.+)\.html*$ $1/misc.php\?mod=tag&id=$2
RewriteRule ^(.*)/tag/*$ $1/misc.php\?mod=tag
PS:以上规则一定要加在最后一条,即
RewriteRule ^(.*)/([a-z]+[a-z0-9_]*)-([a-z0-9_\-]+)\.html(\?(.*))*$ $1/plugin\.php\?id=$2:$3&$5
上面,否则不会成功,这条规则是插件伪静态的规则就算你的插件不需要伪静态你也要获取这条规则放到伪静态文件里面然后把本教程的规则放到这条规则的上面,获取到规则后你可以在SEO伪静态那里勾选掉插件伪静态。
教程到这里还没有完,
Discuz x3.1 默认禁止蜘蛛抓取标签页面,解决方法为:
删除或注释掉根目录下misc.php第18行的:$discuz->reject_robot(); 这段代码然后打开robots.txt文件删除一下两条禁止蜘蛛抓去的规则:
Disallow: /misc.php
Disallow: /*?mod=misc*