目标:使DEDECMS原来的https://www.liuzhongwei.com/a/dedejq/tags.php?/bnxbcom/ 变动为/tags/bnxbcom.html 这种伪静态模式
一 | dede后台开启伪静态
二 | 修改 /include/taglib/tag.lib.php
大约87行找到
$row[‘link’] = $cfg_cmsurl.”/https://www.liuzhongwei.com/a/dedejq/tags.php?/”.urlencode($row[‘keyword’]).”/”;
改成
$row[‘link’] = $cfg_cmsurl.”/tags/”.urlencode($row[‘keyword’]).”.html”;
三 | 修改分页代码
修改分页代码。同样打开include/arc.taglist.class.php,主要是//获得上一页和下一页的链接。将//获得上一页和下一页的链接至 //获得数字链接之间的分页函数替换:
也可以直接用下面代码替换同样部分代码
(提示:网上有文章中讲的以下代码中的”pageinfo”是错误的,应该为\”pageinfo\”,不然会有错误提示哦!已经代码测试OK!)
/***获取动态的分页列表** @access public* @param int $list_len 列表宽度* @param string $listitem 列表样式* @return string*/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 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\.phpRewriteRule ^(.*)/tags/(.*).html $1/tags\.php\?$2如果是HTACCESS,那使用下面规则RewriteEngine onRewriteBase /RewriteRule ^tags/([0-9]+)_([0-9]+).html$ https://www.liuzhongwei.com/a/dedejq/tags.php?tagid=$1&PageNo=$2 [L]RewriteRule ^tags/([0-9]+).html$ https://www.liuzhongwei.com/a/dedejq/tags.php?tagid=$1 [L]