您好,登錄后才能下訂單哦!
小編給大家分享一下如何實現dedecms中tag標簽偽靜態,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
dedecms如何實現tag標簽偽靜態?
dedecms的tag標簽是一個很好管理關鍵詞的功能,通過tag標簽可以找到相關的關鍵詞內容。但是dedecms的tag標簽系統默認是//www.xxx.net/tags.php?/tag標簽/如下圖。不利于SEO優化。那么如何將TAGS靜態化呢?(即改成//www.xxx.net/tags/1.html)。
這里主要是通過修改調用的標簽進行偽靜態。
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.="<li><a href='".$purl."/$prepagenum/'>上一頁</a></li>\r\n"; $indexpage="<li><a href='".$purl."/1/'>首頁</a></li>\r\n"; } else { $indexpage="<li><a>首頁</a></li>\r\n"; } if($this->PageNo!=$totalpage && $totalpage>1) { $nextpage.="<li><a href='".$purl."/$nextpagenum/'>下一頁</a></li>\r \n"; $endpage="<li><a href='".$purl."/$totalpage/'>末頁</a></li>\r\n"; } else { $endpage="<li><a>末頁</a></li>\r\n"; }
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如下圖的偽靜態效果。
看完了這篇文章,相信你對如何實現dedecms中tag標簽偽靜態有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。