dedecms中tags标签页伪静态化修改 – DeDecms


avatar
pcwnas 2023-04-21 153

原文来自:https://www.zixuephp.com

dedecms中tags标签页伪静态化修改

dedecms中tags标签默认是php假伪静态功能就是如tags.php/xxxx/这种形式了,这种就是我说的假伪静态了,如果做到如/tag-abc/或tag/aaa.html这种呢,下面小编来给大家介绍.

首先打开dedecms的/include/taglib/tag.lib.php文件,找到第87行如下这句代码,代码如下:

$row['link'] = $cfg_cmsurl."/tags.php?/".urlencode($row['keyword'])."/";

将其改成如下:

$row['link'] = $cfg_cmsurl."/tags/".urlencode($row['keyword']).".html";

然后我们打开所使用模板文件夹下的taglist.htm文件,比如默认模板文件夹就是templets/default/taglist.htm,用编辑器打开在里面查找“tags.php”将其全部修改为“tags.html”

最后来设置我们的伪静态规则,以IIS7为例,我们应该在web.config里写入如下伪静态规则,代码如下:

  1. <?xmlversion="1.0"encoding="UTF-8"?>
  2. <configuration>
  3. <system.webServer>
  4. <rewrite>
  5. <rules>
  6. <rulename="weather1"stopProcessing="true">
  7. <matchurl="tags/([^-]+).html$"ignoreCase="true"/>
  8. <conditionslogicalGrouping="MatchAll">
  9. <addinput="{REQUEST_FILENAME}"matchType="IsFile"negate="true"/>
  10. <addinput="{REQUEST_FILENAME}"matchType="IsDirectory"negate="true"/>
  11. </conditions>
  12. <actiontype="Rewrite"url="/tags.php?/{R:1}"appendQueryString="false"/>
  13. </rule>
  14. <rulename="weather2"stopProcessing="true">
  15. <matchurl="tags/([^-]+)-([0-9]+).html$"ignoreCase="true"/>
  16. <conditionslogicalGrouping="MatchAll">
  17. <addinput="{REQUEST_FILENAME}"matchType="IsFile"negate="true"/>
  18. <addinput="{REQUEST_FILENAME}"matchType="IsDirectory"negate="true"/>
  19. </conditions>
  20. <actiontype="Rewrite"url="/tags.php?/{R:1}/{R:2}"appendQueryString="false"/>
  21. </rule>
  22. </rules>
  23. </rewrite>
  24. </system.webServer>
  25. </configuration>

如果你是IIS6,那么就是在httpd.ini文件里加入下面这段代码:

  1. RewriteRule^(.*)/tags.html$1/tags.php
  2. RewriteRule^(.*)/tags/(.*).html$1/tags.php?$2

而Linux主机的.htaccess写法就是如下代码:

  1. RewriteRule^tags.html$/tags.php
  2. RewriteRule^tags/(.*).html$/tags.php?/$1/

最后我们进入dedecms后台更新下缓存就算搞定了.