当前位置:首页 > 行业动态 > 正文

如何修改dedecms中的tag标签以实现伪静态功能?

要实现dedecms tag标签伪静态,需要修改 arc.taghtml文件和 htaccess文件。

在织梦CMS(DedeCMS)中,实现TAG标签的伪静态化对于提升网站的SEO效果和用户体验至关重要,以下是详细的修改方法:

修改tag.lib.php文件

1、定位文件:找到并打开 includetaglibtag.lib.php 文件。

2、修改链接生成代码:在该文件中,大约第87行的位置,找到如下代码:

   $row['link'] = $cfg_cmsurl."/tags.php?/".urlencode($row['keyword'])."/";

将其修改为:

   $row['link'] = $cfg_cmsurl."/tags/".urlencode($row['keyword']).".html";

二、修改arc.taglist.class.php文件

1、定位文件:找到并打开 includearc.taglist.class.php 文件。

2、分页代码替换:在该文件中,从429行到541行,用以下内容替换原有代码:

   /**
    * 获取动态的分页列表
    * @param int $list_len 列表宽度
    * @param string $listitem 列表样式
    * @return string
    */
   function GetPageListDM($list_len,$listitem="info,index,end,pre,next,pageno") {
       $prepage = "";
       $nextpage = "";
       $prepagenum = $this>PageNo  1;
       $nextpagenum = $this>PageNo + 1;
       if($list_len == "" || preg_match("/[^09]/", $list_len)) {
           $list_len = 3;
       }
       $totalpage = $this>TotalPage;
       if($totalpage <= 1 && $this>TotalResult > 0) {
           return "<span >共1页/".$this>TotalResult."条</span>";
       }
       if($this>TotalResult == 0) {
           return "<span >共0页/".$this>TotalResult."条</span>";
       }
       $maininfo = "<span >共{$totalpage}页/".$this>TotalResult."条</span>rn";
       $purl = $this>GetCurUrl();
       $basename = basename($purl);
       $tmpname = explode('.', $basename);
       $purl = str_replace($basename, '', $purl).urlencode($this>Tag);
       if($this>PageNo != 1) {
           $prepage .= "<li><a href='".$purl."$prepagenum'.html>上一页</a></li>rn";
           $indexpage = "<li><a href='".$purl."1.html'>首页</a></li>rn";
       } else {
           $indexpage = "<li><a>首页</a></li>rn";
       }
       if($this>PageNo != $totalpage && $totalpage > 1) {
           $nextpage .= "<li><a href='".$purl."$nextpagenum'.html>下一页</a></li>rn";
           $endpage = "<li><a href='".$purl."$totalpage'.html'>末页</a></li>rn";
       } else {
           $endpage = "<li><a>末页</a></li>rn";
       }
       $listdd = "";
       $total_list = $list_len * 2 + 1;
       if($this>PageNo >= $total_list) {
           $j = $this>PageNo  $list_len;
           $total_list = $this>PageNo + $list_len;
           if($total_list > $totalpage) {
               $total_list = $totalpage;
           }
       } else {
           $j = 1;
           if($total_list > $totalpage) {
               $total_list = $totalpage;
           }
       }
       for($j; $j <= $total_list; $j++) {
           if($j == $this>PageNo) {
               $listdd .= "<li ><a>$j</a></li>rn";
           } else {
               $listdd .= "<li><a href='".$purl."$j.html'>".$j."</a></li>rn";
           }
       }
       $plist = '';
       if(preg_match('/info/i', $listitem)) {
           $plist .= $maininfo.' ';
       }
       if(preg_match('/index/i', $listitem)) {
           $plist .= $indexpage.' ';
       }
       if(preg_match('/pre/i', $listitem)) {
           $plist .= $prepage.' ';
       }
       if(preg_match('/next/i', $listitem)) {
           $plist .= $nextpage.' ';
       }
       if(preg_match('/end/i', $listitem)) {
           $plist .= $endpage.' ';
       }
       if(preg_match('/pageno/i', $listitem)) {
           $plist .= "&nbsp;".$listdd;
       }
       return $plist;
   }

添加伪静态规则

1、编辑.htaccess文件:在网站根目录下创建或编辑.htaccess文件,添加以下伪静态规则:

   RewriteRule ^(.*)/tags.html$ $1/tags.php [L]
   RewriteRule ^(.*)/tags/(.*).html$ $1/tags.php?/$2 [L]
   RewriteRule ^(.*)/tags/(.*)/([09])(?:(?.*)).html*$ $1/tags.php?/$1/$2 [L]

2、IIS服务器配置:如果使用IIS服务器,需要在web.config文件中添加相应的伪静态规则,具体操作可以参考IIS官方文档或相关教程。

通过上述步骤,即可完成DedeCMS TAG标签的伪静态化设置,这不仅有助于提升网站的SEO效果,还能改善用户体验。

0