dedecms如何實現tag標簽偽靜態?
dedecms的tag標簽是一個很好管理關鍵詞的功能,通過tag標簽可以找到相關的關鍵詞內容。但是DEDECMS的tag標簽系統默認是//www.xxx.net/tags.php?/tag標簽/如下圖。不利于SEO優化。那么如何將TAGS靜態化呢?(即改成//www.xxx.net/tags/1.html)。
推薦學習:織夢cms?
這里主要是通過修改調用的標簽進行偽靜態。
1、在dedecms程序目錄下找到tags.php。打開找到$PageNo=1到exit();的代碼(如下圖)。把這些代碼替換成如下代碼:
//tag偽靜態 $tagid?=?(isset($tagid)?&&?is_numeric($tagid))???$tagid?:?0; $PageNo?=?(isset($PageNo)?&&?is_numeric($PageNo))???$PageNo?:?1; if?($tagid?=="0")?{ $dlist?=?new?TagList($tag,?'tag.htm'); $dlist->Display();} else{$row?=?$dsql->GetOne("SELECT?tag?FROM?`tagindex`?WHERE?id?={$tagid}"); if?(!is_array($row))?{ShowMsg('系統無此tag',?'-1'); exit();} $tag?=?FilterSearch($row['tag']); $dlist?=?new?TagList($tag,?'taglist.htm'); $dlist->Display();} exit();
2、TAG調用標簽。打開include/taglib/tag.lib.php文件找到$row[‘link’] =$cfg_cmsurl.”/tags.php?/”.urlencode($row[‘keyword’]).”/”;代碼。將它替換成$row[‘link’] = “/tags/{$row[‘id’]}.html”;(注意符號都是英文,不是中文。不然查找不到,修改不成功)
3、修改分頁代碼。同樣打開include/arc.taglist.class.php,找到//獲得上一頁和下一頁的鏈接。將//獲得上一頁和下一頁的鏈接? 至? //獲得數字鏈接之間的分頁函數替換為如下函數:
if($this->PageNo?!=?1) { $prepage.="
rn”; $indexpage=”
rn”; } else { $indexpage=”
rn”; } if($this->PageNo!=$totalpage?&&?$totalpage>1) { $nextpage.=”
r n”; $endpage=”
rn”; } else { $endpage=”
rn”;??}
4、設置偽靜態規則。新建一個txt文本,在文本里添加如下偽靜態規則。然后另存為.htaccess上傳到網站根目錄即可(如果已有偽靜態文件.htaccess,那么不要覆蓋.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]
5、最后到dedecms后臺更新一下,至此已完成所有的設置。可以看http://127.0.0.1/tags/1.html如下圖的偽靜態效果。