织梦TAG标签伪静态处理方法网上一堆,但是很难找到一个标准的教程,麦模板整理一个比较完整的教程,供大伙分享。说到织梦伪静态,麦模板技术团队建议大伙修改成织梦TAG标签URL纯静态,DedeCMS的tag标签是一个很好管理关键词的功能,通过tag标签可以找到相关的关键词内容。但是DedeCMS的tag标签系统默认是/tags.php?/tag 标签/如下图。不利于SEO优化。那么如何将TAGS静态化呢? (即改成/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, ag.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[ ag]);$dlist = new TagList($tag, aglist.htm);$dlist->Display();}exit();
3 | 修改分页代码。同样打开 include/arc.taglist.class.php,找到//获得上一页和下一页的链接。将//获得上一页和下一页的链接 至 //获得数字链接之间的分页函数替换为如下函数:2 | TAG调用标签。打开 include/taglib/tag.lib.php 文件找到 $row[‘link’] =$cfg_cmsurl.”/tags.php?/”.urlencode($row[‘keyword’]).”/”; 代码。将它替换成 $row[‘link’] = “/tags/{$row[‘id’]}.html”; (注意符号都是英文,不是中文。不然查找不到,修改不成功)
if($this->PageNo != 1){$prepage.="
上一页\r\n";$indexpage="首页\r\n";}else{$indexpage="首页\r\n";}if($this->PageNo!=$totalpage && $totalpage>1){$nextpage.="下一页\r\n";$endpage="末页\r\n";}else{$endpage="末页\r\n"; }
RewriteEngine on4 | 设置伪静态规则。新建一个txt文本,在文本里添加如下伪静态规则。然后另存为.htaccess上传到网站根目录即可(如果已有伪静态文件.htaccess,那么不要覆盖.htaccess。直接打开在里面添加如下规则保存即可。)
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后台更新一下,至此已完成所有的设置。可以看/tags/1.html如下图的伪静态效果。