SEO学堂 - 轻松学习SEO从此开始!

成都SEO优化教程  免费SEO视频教程

DedeCMS实现tag标签伪静态的方法

时间:2018-09-16 14:47来源:seo 作者:SEO学堂 点击:
目标:使DEDECMS原来的tags.php?/bnxbcom/ 变动为/tags/bnxbcom.html 这种伪静态模式 一、dede后台开启伪静态 二、修改 /include/taglib/tag.lib.php 大约87行找到 $row[link] = $cfg_cmsurl./tags.php?/.urlencode($row[

目标:使DEDECMS原来的tags.php?/bnxbcom/  变动为/tags/bnxbcom.html 这种伪静态模式

一、dede后台开启伪静态


二、修改 /include/taglib/tag.lib.php

大约87行找到


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

改成


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

 

三、修改分页代码

修改分页代码。同样打开include/arc.taglist.class.php,主要是//获得上一页和下一页的链接。将//获得上一页和下一页的链接  至  //获得数字链接之间的分页函数替换:

也可以直接用下面代码替换同样部分代码

(提示:网上有文章中讲的以下代码中的"pageinfo"是错误的,应该为\"pageinfo\",不然会有错误提示哦!已经代码测试OK!)

 

001 /** * 获取动态的分页列表
002 *
003  
004 * @access public
005 * @param int $list_len 列表宽度
006 * @param string $listitem 列表样式
007 * @return string
008 */
009 function GetPageListDM($list_len,$listitem="info,index,end,pre,next,pageno")
010 {
011 $prepage="";
012 $nextpage="";
013 $prepagenum = $this->PageNo - 1;
014 $nextpagenum = $this->PageNo + 1;
015 if($list_len == "" || preg_match("/[^0-9]/", $list_len))
016 {
017 $list_len = 3;
018 }
019 $totalpage = $this->TotalPage;
020 if($totalpage <= 1 && $this->TotalResult > 0)
021 {
022 return "<span class=\"pageinfo\">共1页/".$this->TotalResult."条</span>";
023 }
024 if($this->TotalResult == 0)
025 {
026 return "<span class=\"pageinfo\">共0页/".$this->TotalResult."条</span>";
027 }
028 $maininfo = "<span class=\"pageinfo\">共{$totalpage}页/".$this->TotalResult."条</span>rn";
029 $purl = $this->GetCurUrl();
030 $basename basename($purl);
031 $tmpname = explode('.', $basename);
032 $purl = str_replace($basename'', $purl).urlencode($this->Tag);
033 //var_dump($purl);exit;
034 //$purl .= "?/".urlencode($this->Tag);
035 //获得上一页和下一页的链接
036 if($this->PageNo != 1)
037 {
038 $prepage.="<li><a href='".$purl."-$prepagenum'.html>上一页</a></li>rn";
039 $indexpage="<li><a href='".$purl."-1.html'>首页</a></li>rn";
040 }
041 else
042 {
043 $indexpage="<li><a>首页</a></li>rn";
044 }
045 if($this->PageNo!=$totalpage && $totalpage>1)
046 {
047 $nextpage.="<li><a href='".$purl."-$nextpagenum.html'>下一页</a></li>rn";
048 $endpage="<li><a href='".$purl."-$totalpage.html'>末页</a></li>rn";
049 }
050 else
051 {
052 $endpage="<li><a>末页</a></li>rn";
053 }
054 //获得数字链接
055 $listdd="";
056 $total_list = $list_len * 2 + 1;
057 if($this->PageNo >= $total_list)
058 {
059 $j = $this->PageNo - $list_len;
060 $total_list = $this->PageNo + $list_len;
061 if($total_list > $totalpage)
062 {
063 $total_list = $totalpage;
064 }
065 }
066 else
067 {
068 $j=1;
069 if($total_list > $totalpage)
070 {
071 $total_list = $totalpage;
072 }
073 }
074 for($j; $j<=$total_list; $j++)
075 {
076 if($j == $this->PageNo)
077 {
078 $listdd.= "<li class=\"thisclass\"><a>$j</a></li>rn";
079 }
080 else
081 {
082 $listdd.="<li><a href='".$purl."-$j.html'>".$j."</a></li>rn";
083 }
084 }
085 $plist = '';
086 if(preg_match('/info/i', $listitem))
087 {
088 $plist .= $maininfo.' ';
089 }
090 if(preg_match('/index/i', $listitem))
091 {
092 $plist .= $indexpage.' ';
093 }
094 if(preg_match('/pre/i', $listitem))
095 {
096 $plist .= $prepage.' ';
097 }
098 if(preg_match('/pageno/i', $listitem))
099 {
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 }

 

四、打开templets/default/taglist.htm

找到   

<strong>当前位置:</strong>:<a href="{dede:global.cfg_cmsurl/}/">主页</a> &gt; <a href='tags.php'>TAG标签</a> &gt; {dede:field.title /}

修改为    

<strong>当前位置:</strong>:<a href="{dede:global.cfg_cmsurl/}/">主页</a> &gt; <a href='/tags.html'>TAG标签</a> &gt; {dede:field.title /}

五、httpd.ini 文件里加


 

01 RewriteRule ^(.*)/tags\.html $1/tags\.php
02  
03  
04 RewriteRule ^(.*)/tags/(.*).html $1/tags\.php\?$2
05  
06  
07  
08 如果是HTACCESS,那使用下面规则
09  
10 RewriteEngine on
11 RewriteBase /
12 RewriteRule ^tags/([0-9]+)_([0-9]+).html$        tags.php?tagid=$1&PageNo=$2 [L]
13 RewriteRule ^tags/([0-9]+).html$                tags.php?tagid=$1 [L]

(责任编辑:SEO学堂)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
推荐内容