Apache环境下织梦cms网站tag标签静态化的解决方法

原创 2019-11-12 10:08 
摘要:

搜索引擎对静态页面是最友好的。但是使用织梦DEDECMS建站时,tag标签页面还是动态的,在Linux系统Apache环境下如何实现tag标签静态化呢,小编为大家介绍下解决方法。我们需要修改系统的几个程序文件。

搜索引擎对静态页面是最友好的。但是使用织梦DEDECMS建站时,tag标签页面还是动态的,在Linux系统Apache环境下如何实现tag标签静态化呢,小编为大家介绍下解决方法。我们需要修改系统的几个程序文件。

1、更改tags.php文件在根目录
找到
$tag = FilterSearch(urldecode($tag));
替换为:
$tag = urldecode($tag);

2、更改文件arc.taglist.class.php(文件文件所在的路径是include/arc.taglist.class.php)
找到
$this->TagInfos = $this->dsql->GetOne("Select * From 'dede_tagindex' where taglike '{$this->Tag}' ");
替换为:
$this->TagInfos = $this->dsql->GetOne("Select * From 'dede_tagindex' where id like'{$this->Tag}' ");

3、更改文件tag.lib.php (文件所在的路径include/taglib/tag.lib.php)
找到
$row['keyword'] = $row['tag'];
将$row['tag']更改为$row['id']

找到
$row['link'] = $cfg_cmsurl."/tags.php?/".$row['keyword']."/";
更改为:
$row['link'] = $cfg_cmsurl."/tags/".urlencode($row['id']);
(在Apache环境下)

4、修改taglist.htm模板:
<strong>当前位置:</strong>:<a href="{dede:global.cfg_cmsurl/}/">主页</a> > <a href='tags.php'>TAG标签</a> > {dede:field.title /}
替换为:
<strong>当前位置:</strong><a href="{dede:global.cfg_cmsurl/}/">主页</a> > <a href='/tags/'>TAG标签</a> > {dede:field.title /}

5、在.htaccess文件里增加如下规则:
RewriteEngine On
RewriteBase /
RewriteRule ^tags/(.*)$ /tags.php?/$1

最后在根目录下robots.txt中添加
Disallow: /tags.php
防止搜索引擎爬取动态网址,造成重复收录。

本文作者:张语
版权声明:欢迎分享本文,转载请保留作者及文章链接!欢迎大家一起学习讨论!

发表评论


表情