编程技术分享平台

网站首页 > 技术教程 正文

如何在discuzx3增加标签功能在nginx环境开伪静态

xnh888 2024-09-19 06:18:42 技术教程 27 ℃ 0 评论

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

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



对比一个 规则

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


那么很简单的 同理可得:

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

好的 我们测试一下


完美!

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

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

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

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表