当前位置:首页 > 源代码 > 内容

如何实现织梦的TAG标签伪静态

2017年10月30日 / 互联网 / 共次浏览

织梦的TAG标签是一个很好的管理关键词的功能,通过TAG标签可以实现一定的SEO优化下过。但是,默认的织梦TAG标签展现地址是:http://www.15d.cc/tags.php?/tag标签/,不利于SEO优化。那么如何将TAG静态化呢?

修改与实现步骤如下:

1、在织梦程序目录下找到tags.php,打开找到$PageNo=1到exit();的代码。把这些代码进行替换。

替换之前

  $PageNo = 1; /*从这里开始到文件最下面都要进行替换*/
  
  if(isset($_SERVER['QUERY_STRING']))
  {
  $tag = trim($_SERVER['QUERY_STRING']);
  $tags = explode('/', $tag);
  if(isset($tags[1])) $tag = $tags[1];
  if(isset($tags[2])) $PageNo = intval($tags[2]);
  }
  else
  {
  $tag = '';
  }
  
  $tag = FilterSearch(urldecode($tag));
  if($tag != addslashes($tag)) $tag = '';
  if($tag == '') $dlist = new TagList($tag, 'tag.htm');
  else $dlist = new TagList($tag, 'taglist.htm');
  $dlist->Display();
  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 `swd_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、打开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、最后更新一下网站的缓存,至此已完成所有的设置。

[打印内容][关闭页面]