dedecms系統tag標簽和分頁偽靜態怎么設置?
現在好多CMS系統都有TAGS標簽這項功能,知名的DEDECMS也有,但是它的標簽功能很差,不利于seo優化,同時也有很多問題,比如:當前頁不存在上一頁時,鏈接為“-1”的問題,還有出現“系統無此標簽,可能已經移除”的問題。
推薦學習:織夢cms
今天小編就教大家把標簽偽靜態(部分資料來源于網絡),同時也修復了一些上述提到的BUG。
1.修改前臺顯示鏈接
我們這里達到的效果就是使原來/tags.php?keywors更改為/tags/keywords.html。
這里主要修改下調用的標簽,在/include/taglib/tag.lib.php中,在87行找到
$row['link']?=?$cfg_cmsurl."/tags?".urlencode($row['keyword']);
將其改為:
$row['link']?=?$cfg_cmsurl."/tags/".urlencode($row['keyword']).".html";
2.修改分頁代碼部分
我們需要修改include/arc.taglist.class.php,找到分頁函數,將其替換為:
/**? *?獲取動態的分頁列表? *? *?@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?"<span>共1頁/".$this->TotalResult."條</span>";? }? if($this->TotalResult?==?0)? {? return?"<span>共0頁/".$this->TotalResult."條</span>";? }? $maininfo?=?"<span>共{$totalpage}頁/".$this->TotalResult."條</span>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)?這是修正上一頁為負數的問題 ????????if($this->PageNo?!=?1?&&?$this->PageNo?!=?"") {? $prepage.="
rn”;? $indexpage=”
rn”;? }? else {? $indexpage=”
rn”;? }? if($this->PageNo!=$totalpage?&&?$totalpage>1)? {? $nextpage.=”
rn”;? $endpage=”
rn”;? }? else {? $endpage=”
rn”;? }? ? //獲得數字鏈接? $listdd=””;? $total_list?=?$list_len?*?2?+?1;? if($this->PageNo?>=?$total_list)? {? $j?=?$this->PageNo?–?$list_len;? $total_list?=?$this->PageNo?+?$list_len;? if($total_list?>?$totalpage)? {? $total_list?=?$totalpage;? }? }? else {? $j=1;? if($total_list?>?$totalpage)? {? $total_list?=?$totalpage;? }? }? for($j;?$jPageNo)? {? $listdd.=?“
rn”;? }? else {? $listdd.=”
rn”;? }? }? $plist?=?”;? if(preg_match(‘/info/i’,?$listitem))? {? $plist?.=?$maininfo.’?‘;? }? if(preg_match(‘/index/i’,?$listitem))? {? $plist?.=?$indexpage.’?‘;? }? if(preg_match(‘/pre/i’,?$listitem))? {? $plist?.=?$prepage.’?‘;? }? if(preg_match(‘/pageno/i’,?$listitem))? {? $plist?.=?$listdd.’?‘;? }? if(preg_match(‘/next/i’,?$listitem))? {? $plist?.=?$nextpage.’?‘;? }? if(preg_match(‘/end/i’,?$listitem))? {? $plist?.=?$endpage.’?‘;? }? return?$plist;? }
3.設置偽靜態規則
我們這里以iis7為例子,設置以下規則:
<?xml version="1.0" encoding="UTF-8"?>? <configuration>? <system.webserver>? <rewrite>? <rules>? <rule>? <match></match>? <conditions>? <add></add>? <add></add>? </conditions>? <action></action>? </rule>? <rule>? <match></match>? <conditions>? <add></add>? <add></add>? </conditions>? <action></action>? </rule>? </rules>? </rewrite>? </system.webserver>? </configuration>