admin 发表于 2017-5-2 15:26:58

Discuz! TAG标签伪静态方案(1327.net)

Discuz X3.1默认是禁止搜索引擎访问 misc.php 文件的,因此 tag 不会被收录。我们可以将 tag 网址伪静态化,这样不仅使 tag 网址看上去更规范美观,还使 tag 页面可以被百度收录。第一步,复制根目录下的 misc.php 文件为 misc_tag.php 文件,删除其中的 $discuz->reject_robot(); (否则搜索引擎无法访问)。第二步,增加伪静态规则(以Nginx为例)。rewrite ^([^\.]*)/tag.html$ $1/misc_tag.php?mod=tag last;
rewrite ^([^\.]*)/tag-(*)-1\.html$ $1/misc_tag.php?mod=tag&id=$2 last;
rewrite ^([^\.]*)/tag-(*)-(|+)\.html$ $1/misc_tag.php?mod=tag&id=$2&type=thread&page=$3 last;注意:必须添加在“插件”页面的伪静态规则(即 rewrite ^([^\.]*)/(+*)-(+)\.html$ $1/plugin.php?id=$2:$3 last; 行)之前的任意位置。添加后需要 重载 或 关闭后再启动 Nginx后生效(仅直接重启无效)。该规则使 tag标签页面 支持以网址 tag-标签编号-标签页数.html 访问指定标签页面。第三步,修改Discuz程序,使 tag链接 由原有的动态链接换为伪静态链接。1、打开 template/default/tag/tagitem.htm 模板文件,将 <a class="xi2" href="misc.php?mod=tag&id=$id&type=thread">{lang more}...</a> 修改为:<a href="tag-$id-2.html" class="xi2" style="font-weight: bold;">查看更多相关帖子 >>></a>将 <a class="xi2" href="misc.php?mod=tag&id=$id&type=blog">{lang more}...</a> 修改为:<a href="misc.php?mod=tag&id=$id&type=blog" class="xi2" style="font-weight: bold;">查看更多相关日志 >>></a>将 <a href="misc.php?mod=tag">{lang tag}</a> 修改为:<a href="tag.html">{lang tag}</a>将 <a href="misc.php?mod=tag&id=$id">$tagname</a> 修改为: <a href="tag-$id-1.html">$tagname</a>将 <!--{loop $threadlist $thread}--> 修改为 {eval $tiaoshu = 0}<!--{loop $threadlist $thread}-->{eval $tiaoshu ++;}将第一个 <!--{if empty($showtype)}--> 修改为 <!--{if empty($showtype) && $tiaoshu >= 20}-->将 action="misc.php?mod=tag" 修改为 action="tag.html"2、修改翻页按钮。打开 source/module/misc/misc_tag.php 文件,将 $multipage = multi($count, $tpp, $page, "misc.php?mod=tag&id=$tag&type=thread"); 修改为$multipage = multi_guide($count, $tpp, $page, "tag-$tag");
页: [1]
查看完整版本: Discuz! TAG标签伪静态方案(1327.net)