dedecms如何实现tag标签伪静态的方法

时间:2021-05-02

dedecms的tag标签是一个很好管理关键词的功能,通过tag标签可以找到相关的关键词内容。但是dedecms的tag标签系统默认是//www.zzvips.com/tags.php?/tag标签/如下图。不利于SEO优化。那么如何将TAGS静态化呢?(即改成//www.zzvips.com/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 onRewriteBase /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如下图的伪静态效果。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章