DedeCMS系统TAG标签伪静态设置

2018年10月7日23:11:12 发表评论 36 views
广告也精彩

DedeCMS系统TAG标签伪静态设置

DedeCMS的系统TAGS确实是一个非常好的功能,通过关键词链接可以快速寻找到相关内容,不过很多人希望能够将TAGS静态化这样更加利于SEO,CIT.CN也是对此进行了优化和调整,只不过cit小虫觉得这种更新内容比较频繁的列表最好采用伪静态的方式,这里就分享下技巧。

1.修改前台显示链接

我们这里达到的效果就是使原来/tags.php?keywors更改为/tags/keywords.html。

这里主要修改下调用的标签,在includetaglibtag.lib.php中,在87行找到 

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

将其改为:

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

2.修改分页代码

我们需要修改include/arc.taglist.class.php,将分页函数替换为:

  1. /**
  2.      *  获取动态的分页列表
  3.      *
  4.      * @access    public
  5.      * @param     int  $list_len  列表宽度
  6.      * @param     string  $listitem  列表样式
  7.      * @return    string
  8.      */
  9.     function GetPageListDM($list_len,$listitem="info,index,end,pre,next,pageno")
  10.     {
  11.         $prepage="";
  12.         $nextpage="";
  13.         $prepagenum = $this->PageNo - 1;
  14.         $nextpagenum = $this->PageNo + 1;
  15.         if($list_len == "" || preg_match("/[^0-9]/", $list_len))
  16.         {
  17.             $list_len = 3;
  18.         }
  19.         $totalpage = $this->TotalPage;
  20.         if($totalpage <= 1 && $this->TotalResult > 0)
  21.         {
  22.             return "<span class="pageinfo">共1页/".$this->TotalResult."条</span>";
  23.         }
  24.         if($this->TotalResult == 0)
  25.         {
  26.             return "<span class="pageinfo">共0页/".$this->TotalResult."条</span>";
  27.         }
  28.         $maininfo = "<span class="pageinfo">共{$totalpage}页/".$this->TotalResult."条</span>rn";
  29.         $purl = $this->GetCurUrl();
  30.         $basename = basename($purl);
  31.         $tmpname = explode('.', $basename);
  32.         $purl = str_replace($basename, '', $purl).urlencode($this->Tag);
  33.         //var_dump($purl);exit;
  34.         //$purl .= "?/".urlencode($this->Tag);
  35.         //获得上一页和下一页的链接
  36.         if($this->PageNo != 1)
  37.         {
  38.             $prepage.="<li><a href='".$purl."-$prepagenum'.html>上一页</a></li>rn";
  39.             $indexpage="<li><a href='".$purl."-1.html'>首页</a></li>rn";
  40.         }
  41.         else
  42.         {
  43.             $indexpage="<li><a>首页</a></li>rn";
  44.         }
  45.         if($this->PageNo!=$totalpage && $totalpage>1)
  46.         {
  47.             $nextpage.="<li><a href='".$purl."-$nextpagenum.html'>下一页</a></li>rn";
  48.             $endpage="<li><a href='".$purl."-$totalpage.html'>末页</a></li>rn";
  49.         }
  50.         else
  51.         {
  52.             $endpage="<li><a>末页</a></li>rn";
  53.         }
  54.         //获得数字链接
  55.         $listdd="";
  56.         $total_list = $list_len * 2 + 1;
  57.         if($this->PageNo >= $total_list)
  58.         {
  59.             $j = $this->PageNo - $list_len;
  60.             $total_list = $this->PageNo + $list_len;
  61.             if($total_list > $totalpage)
  62.             {
  63.                 $total_list = $totalpage;
  64.             }
  65.         }
  66.         else
  67.         {
  68.             $j=1;
  69.             if($total_list > $totalpage)
  70.             {
  71.                 $total_list = $totalpage;
  72.             }
  73.         }
  74.         for($j; $j<=$total_list; $j++)
  75.         {
  76.             if($j == $this->PageNo)
  77.             {
  78.                 $listdd.= "<li class="thisclass"><a>$j</a></li>rn";
  79.             }
  80.             else
  81.             {
  82.                 $listdd.="<li><a href='".$purl."-$j.html'>".$j."</a></li>rn";
  83.             }
  84.         }
  85.         $plist  =  '';
  86.         if(preg_match('/info/i', $listitem))
  87.         {
  88.             $plist .= $maininfo.' ';
  89.         }
  90.         if(preg_match('/index/i', $listitem))
  91.         {
  92.             $plist .= $indexpage.' ';
  93.         }
  94.         if(preg_match('/pre/i', $listitem))
  95.         {
  96.             $plist .= $prepage.' ';
  97.         }
  98.         if(preg_match('/pageno/i', $listitem))
  99.         {
  100.             $plist .= $listdd.' ';
  101.         }
  102.         if(preg_match('/next/i', $listitem))
  103.         {
  104.             $plist .= $nextpage.' ';
  105.         }
  106.         if(preg_match('/end/i', $listitem))
  107.         {
  108.             $plist .= $endpage.' ';
  109.         }
  110.         return $plist;
  111.     }

3.设置伪静态规则

我们这里以iis7为例子,设置以下规则:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <configuration>
  3.     <system.webServer>
  4.         <rewrite>
  5.             <rules>
  6.                 <rule name="weather1" stopProcessing="true">
  7.                     <match url="tags/([^-]+).html$" ignoreCase="true" />
  8.                     <conditions logicalGrouping="MatchAll">
  9.                         <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
  10.                         <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
  11.                     </conditions>
  12.                     <action type="Rewrite" url="/tags.php?/{R:1}" appendQueryString="false" />
  13.                 </rule>
  14.                 <rule name="weather2" stopProcessing="true">
  15.                     <match url="tags/([^-]+)-([0-9]+).html$" ignoreCase="true" />
  16.                     <conditions logicalGrouping="MatchAll">
  17.                         <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
  18.                         <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
  19.                     </conditions>
  20.                     <action type="Rewrite" url="/tags.php?/{R:1}/{R:2}" appendQueryString="false" />
  21.                 </rule>
  22.             </rules>
  23.         </rewrite>
  24.     </system.webServer>
  25. </configuration>

可以直接保存为web.config放在站点根目录。

4.重新生成html页面

这个操作就不用说了,全部重新生成下,至此全部修改完毕。

5.预览查看显示结果

至此,我们已经完成了所有的设置

 

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 站长技术资源群
  • QQ群:431710796
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: