因为SEO的需要,搭建在Nginx服务器下的Discuz x3.4论坛要做tags聚合到一个页面,标签链接进行伪静态优化。
例如:
misc.php?mod=tag >>> /tag.html
misc.php?mod=tag&id=47 >>> /tag-47.html
修改伪静态规则
首先添加伪静态规则,我是Nginx服务器,在宝塔原有的伪静态规则中 rewrite ^([^.]*)/([a-z]+[a-z0-9_]*)-([a-z0-9_-]+).html$ $1/plugin.php?id=$2:$3 last;之前(一定要在前面,否则出现插件不存在的错误)新添加以下Nginx重写规则:
rewrite ^([^.]*)/tag.html$ $1/misc.php?mod=tag last;
rewrite ^([^.]*)/tag-([0-9]+).html$ $1/misc.php?mod=tag&id=$2 last;
这两句话的意思就是:
1:标签主页变成tag.html
2:标签列表变成:tag-xxx.html xxx代表的是标签ID
这个大家不用管 照着操作就是啦!
替换模版链接地址
打开template/default(模板风格)/forum/viewthread_node_body.htm,查找:misc.php?mod=tag&id=$var[0]
替换为:tag-$var[0].html
打开template/default/tag/tagitem.htm,查找:misc.php?mod=tag 替换为:/tag.html
该文件继续查找:misc.php?mod=tag&id=$id