本站公收录50年前的影片
 找回密码
 立即注册
快捷导航
搜索
回复: 0

实现标签伪静态结尾带标签名称

[复制链接]
发表于 2025-2-7 18:51:38 | 显示全部楼层 |阅读模式
默认格式:https://cn.admxn.com/misc.php?mod=tag&id=6
改装后:https://cn.admxn.com/tag/不正常/

(后缀加不加斜杠都可以访问)

今天在折腾标签模板,顺手想给标签URL伪静态下,之前用过人家分享的一种规则,但只能实现ID目录化,也就是/tag/id/这种格式,个人还是比较喜欢博客那种直接将标签名称作为URL的形态,所以就自己动手优化了下,划重点:自己动手。

规则如下:
  1. rewrite ^/tag/([^/]+)(/|)?$ /misc.php?mod=tag&name=$1;
  2.   rewrite ^/tag(/|)$ /misc.php?mod=tag;
复制代码


注:这里只提供使用 Apache 服务器的修改,如果是 Nginx 服务器的,可以按照这个帖添加伪静态规则 → https://www.dismall.com/thread-19688-1-1.html

1、打开根目录的 .htaccess 文件,在“# 其他插件规则建议放在这上边”的上边添加:

RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^tag/([^/]+)(/|)?$ /misc.php?mod=tag&name=$1&%1 [L,QSA]
RewriteRule ^tag(/|)$ /misc.php?mod=tag [L]
复制代码


2、打开 template\default\tag\tag.htm 模板文件,查找:

  1. <a href="misc.php?mod=tag&id=$tag[tagid]" title="$tag[tagname]" target="_blank" class="xi2">$tag[tagname]</a>
复制代码




修改为:

  1. <a href="tag/$tag[tagname]" title="$tag[tagname]" target="_blank" class="xi2">$tag[tagname]</a>
复制代码



3、打开 template\default\forum\viewthread_node_body.htm 模板文件,查找:

  1. <!--{if $tagi}--><!--{/if}--><a title="$var[1]" href="misc.php?mod=tag&id=$var[0]" target="_blank">$var[1]</a>
复制代码




修改为:

  1. <!--{if $tagi}--><!--{/if}--><a title="$var[1]" href="tag/$var[1]" target="_blank">$var[1]</a>
复制代码




然后到后台更新缓存。

注意:这个改动后有个坏处,就是标签名称不能带有空格,例如:tag/Apple Music,点击标签Apple Music就会跳转到 tag/Apple%20Music,那个空格就变成%20,就找不到这个标签了,所以楼下给出标签静态化尾巴带数字的。



注意:这个改动后有个坏处,就是标签名称不能带有空格,例如:tag/Apple Music,点击标签Apple Music就会跳转到 tag/Apple%20Music,那个空格就变成%20,就找不到这个标签了,所以下面给出标签静态化尾巴带数字的。
这里只提供 Apache 服务器的修改,如果是其他服务器的,请自己修改伪静态规则。

1、打开根目录的 .htaccess 文件,在“# 其他插件规则建议放在这上边”的上边添加:

  1. RewriteCond %{QUERY_STRING} ^(.*)$
  2. RewriteRule ^tag/([^/]+)(/|)?$ /misc.php?mod=tag&id=$1&%1
  3. RewriteRule ^tag(/|)$ /misc.php?mod=tag
复制代码



2、打开 template\default\tag\tag.htm 模板文件,查找:

  1. <a href="misc.php?mod=tag&id=$tag[tagid]" title="$tag[tagname]" target="_blank" class="xi2">$tag[tagname]</a>
复制代码



修改为:

  1. <a href="tag/$tag[id]" title="$tag[tagname]" target="_blank" class="xi2">$tag[tagname]</a>
复制代码




3、打开 template\default\tag\tagitem.htm 模板文件,查找:

  1. <a href="misc.php?mod=tag">{lang tag}</a>
复制代码



修改为:

  1. <a href="tag">{lang tag}</a>
复制代码




再查找:

  1. <a href="misc.php?mod=tag&id=$id">$tagname</a>
复制代码



修改为:

  1. <a href="tag-$id">$tagname</a>
复制代码




4、打开 template\default\forum\viewthread_node_body.htm 模板文件,查找:

  1. <!--{if $tagi}--><!--{/if}--><a title="$var[1]" href="misc.php?mod=tag&id=$var[0]" target="_blank">$var[1]</a>
复制代码



修改为:

  1. <!--{if $tagi}--><!--{/if}--><a title="$var[1]" href="tag/$var[0]" target="_blank">$var[1]</a>
复制代码


然后到后台更新缓存。




您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|联系管理|sitemap|老影迷

GMT+8, 2025-8-26 07:24 , Processed in 0.191304 second(s), 30 queries .

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表