如何在discuz x3增加标签功能,如何在nginx环境开启伪静态

本文优雅草科技伊凡写,不代表优雅草科技立场仅代表个人观点,谢谢支持

discuz x3.4 没有标签功能了,如果添加标签功能,如何开启伪静态

由于X3.4版本后 dz官方的调整,云平台的弃用,导致论坛原有的tag自动获取功能失效 ,大家可以安装这个插件来拥有自动获得标签的功能。

因为SEO的需要,要做tags聚合到一个页面,做到伪静态。

例如:

misc.php?mod=tag >>> /tag/

misc.php?mod=tag&id=1 >>> /tag/1.html

首先添加伪静态规则,我是apache服务器,在此添加apache规则 RewriteRule ^(.*)/tag/(.+).html*$ $1/misc.php?mod=tag&id=$2 RewriteRule ^(.*)/tag/*$ $1/misc.php?mod=tag

  然后修改相关的模板文件

打开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/

该文件继续查找:misc.php?mod=tag&id=$id 替换为:tag/$id.html

这是一篇csdn博主发的

https://blog.csdn.net/asevb02442/article/details/101103429

他介绍了如何修改页面上面让标签变成伪静态链接,因为默认不管是插件还是曾经的标签功能是动态地址, apache环境下,那么nginx下如何写呢

首先观察我们的标签页面的地址:

https://bbs.youyacao.com/misc.php?mod=tag&id=58

如何在discuz x3增加标签功能,如何在nginx环境开启伪静态

对比一个 规则

RewriteRule ^([a-z]+[a-z0-9_]*)-([a-z0-9_-]+).html$ plugin.php?id=$1:$2&%1

rewrite ^([^.]*)/([a-z]+[a-z0-9_]*)-([a-z0-9_-]+).html$ $1/plugin.php?id=$2:$3 last;

这位博主写的apache是这样

RewriteRule ^(.*)/tag/(.+).html*$ $1/misc.php?mod=tag&id=$2 RewriteRule ^(.*)/tag/*$ $1/misc.php?mod=tag

如何在discuz x3增加标签功能,如何在nginx环境开启伪静态

那么很简单的 同理可得:

rewrite ^(.*)/tag/(.+).html*$ $1/misc.php?mod=tag&id=$2 last; rewrite ^(.*)/tag/*$ $1/misc.php?mod=tag last;

好的 我们测试一下

如何在discuz x3增加标签功能,如何在nginx环境开启伪静态

完美!

由于X3.4版本后 dz官方的调整,云平台的弃用,导致论坛原有的tag自动获取功能失效 ,大家可以安装这个插件来拥有自动获得标签的功能。

可以购买这位作者的正版插件:

https://addon.dismall.com/plugins/addon_seo_tagrelatekw.html 本文优雅草科技伊凡写,不代表优雅草科技立场仅代表个人观点,谢谢支持。