discuz X5 TAG标签伪静态方法 New
dz x5文件有些变动,加上升级时文件覆盖过,关于tag标签,下面方法适用3.5-x5。同时我们要养成一个习惯,凡是修改过的默认模板文件,放置到目前模板相关文件夹下,防止升级时文件覆盖。日后整理时,只需对照新文件把新代码添上。
1. 修改帖子内tag标签链接,使其伪静态。
打开template/默认模板或所在模板/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.htm" target="_blank">$var</a>
2. 修改tag页,使各个标签链接伪静态。
打开template/默认模板或所在模板/tag/tag.htm,查找
<a href="misc.php?mod=tag&id=$tag" title="$tag" target="_blank" class="xi2">$tag</a>
替换为
<a href="tag-$tag.htm" title="$tag" target="_blank" class="xi2">$tag</a>
3. 修改tag列表页当前位置,使其路径链接伪静态。
打开template/默认模板或所在模板/tag/tagitem.htm,查找
<a href="misc.php?mod=tag">{lang tag}</a>
替换为
<a href="tag.htm">{lang tag}</a>
注:第3条是x3.5版本的标签链接,如果是x5,在页面文件里直接查找:“misc.php?mod=tag”。
总共有三处地方,二处在网址链接里(网址的直接替换双引号里的整个链接),一处约在174行,它显示的不是链接地址。
再查找(x5版本没有这条)
<a href="misc.php?mod=tag&id=$id">$tagname</a>
替换为
<a href="tag-$id.html">$tagname</a>
让搜索引擎蜘蛛可爬(默认是禁止的)
修改根目录下robort.txt,把下面代码,删除
Disallow: /misc.php
Disallow: /*?mod=misc*(x5版本没有这个)
修改根目录下misc.php文件,注释或删除。(3.5或早期版本,x5版本,已经没有这句。)
$discuz->reject_robot();
添加伪静态规则
linux系统(.htaccess或httpd.conf)伪静态规则:
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^tag-(.+)\.htm$ misc.php?mod=tag&id=$1
RewriteCond %{QUERY_STRING} ^(.*)
RewriteRule ^tag\.htm$ misc.php?mod=tag
WIN的添加(httpd.ini)伪静态规则:(未测,是否可用未知)
RewriteRule ^(.*)/tag-(.+)\.html*$ $1/misc.php\?mod=tag&id=$2
RewriteRule ^(.*)/tag\.html*$ $1/misc.php\?mod=tag
注:要保证规则文件内最后一条伪静态规则为(即规则添加到默认倒数第二行):
RewriteRule ^(+*)-(+)\.html$ plugin.php?id=$1:$2&%1
或者
RewriteRule ^(.*)/(+*)-(+)\.html(\?(.*))*$ $1/plugin\.php\?id=$2:$3&$5
否则显示插件不存在或已关闭。
原作者:zengrenrui 忘记说了,上面网址后缀.htm。
因为我网址从html 修改为htm,也不知道直接使用合适不。
如果静态效果没出来,可在代码里修改成你的后缀。 从X5.1起已经支持全新的 /aaa/bbb 规则的伪静态了,而且是全局性质的
虽然不适用于旧站点,但是还是可以值得剧透一把的
页:
[1]