当前位置:首页 > CMS教程 > DeDecms > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2014-03-16 21:15:31 浏览: 评论:0 

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. <?xml version="1.0" encoding="UTF-8"?> 
  2. <configuration> 
  3.     <system.webServer> 
  4.         <rewrite> 
  5.             <rules> 
  6.                 <rule name="weather1" stopProcessing="true"
  7.                     <match url="tags/([^-]+).html$" ignoreCase="true" /> 
  8.                     <conditions logicalGrouping="MatchAll"
  9.                         <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
  10.                         <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> 
  11.                     </conditions> 
  12.                     <action type="Rewrite" url="/tags.php?/{R:1}" appendQueryString="false" /> 
  13.                 </rule> 
  14.                 <rule name="weather2" stopProcessing="true"
  15.                     <match url="tags/([^-]+)-([0-9]+).html$" ignoreCase="true" /> 
  16.                     <conditions logicalGrouping="MatchAll"
  17.                         <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
  18.                         <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> 
  19.                     </conditions> 
  20.                     <action type="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后台更新下缓存就算搞定了.

Tags: dedecms tags标签页 伪静态化

分享到: