目标:使DEDECMS原来的tags.php?/bnxbcom/ 变动为/tags/bnxbcom.html 这种伪静态模式
一、dede后台开启伪静态
二、修改 /include/taglib/tag.lib.php
大约87行找到
$row['link'] = $cfg_cmsurl."/tags.php?/".urlencode($row['keyword'])."/";
改成
$row['link'] = $cfg_cmsurl."/tags/".urlencode($row['keyword']).".html";
三、修改分页代码
修改分页代码。同样打开include/arc.taglist.class.php,主要是//获得上一页和下一页的链接。将//获得上一页和下一页的链接 至 //获得数字链接之间的分页函数替换:
也可以直接用下面代码替换同样部分代码
(提示:网上有文章中讲的以下代码中的"pageinfo"是错误的,应该为"pageinfo",不然会有错误提示哦!已经代码测试OK!)
function GetPageListDM($list_len,$listitem="info,index,end,pre,next,pageno")
{
$prepage="";
$nextpage="";
$prepagenum = $this->PageNo - 1;
$nextpagenum = $this->PageNo + 1;
if($list_len == "" || preg_match("/[^0-9]/", $list_len))
{
$list_len = 3;
}
$totalpage = $this->TotalPage;
if($totalpage <= 1 && $this->TotalResult > 0)
{
return "共1页/".$this->TotalResult."条";
}
if($this->TotalResult == 0)
{
return "共0页/".$this->TotalResult."条";
}
$maininfo = "共{$totalpage}页/".$this->TotalResult."条rn";
$purl = $this->GetCurUrl();
$basename = basename($purl);
$tmpname = explode('.', $basename);
$purl = str_replace($basename, '', $purl).urlencode($this->Tag);
//var_dump($purl);exit;
//$purl .= "?/".urlencode($this->Tag);
//获得上一页和下一页的链接
if($this->PageNo != 1)
{
$prepage.=" |
四、打开templets/default/taglist.htm
找到
当前位置::主页 > TAG标签 > {dede:field.title /}
修改为
当前位置::主页 > TAG标签 > {dede:field.title /}
五、httpd.ini 文件里加
RewriteRule ^(.*)/tags.html $1/tags.php RewriteRule ^(.*)/tags/(.*).html $1/tags.php?$2 如果是HTACCESS,那使用下面规则 RewriteEngine on Rewritebase / RewriteRule ^tags/([0-9]+)_([0-9]+).html$ tags.php?tagid=$1&PageNo=$2 [L] RewriteRule ^tags/([0-9]+).html$ tags.php?tagid=$1 [L] |



