首页 > CMS > 织梦DEDE > 正文

织梦cms系统TAG标签和分页伪静态设置教程

2024-07-12 08:29:41
字体:
来源:转载
供稿:网友
现在好多CMS系统都有TAGS标签这项功能,知名的dedecms也有,但是它的标签功能很差,不利于seo优化,同时也有很多问题,比如:当前页不存在上一页时,链接为“-1”的问题,还有出现“系统无此标签,可能已经移除”的问题。   今天小编就教大家把标签伪静态(部分资料来源于网络),同时也修复了一些上述提到的BUG。   1.修改前台显示链接    我们这里达到的效果就是使原来/tags.php?keywors更改为/tags/keywords.html。    这里主要修改下调用的标签,在/include/taglib/tag.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,找到分页函数,将其替换为:


001	/**002	* 获取动态的分页列表003	*004	* @access public005	* @param int $list_len 列表宽度006	* @param string $listitem 列表样式007	* @return string008	*/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>/r/n";029	$purl = $this->GetCurUrl();030	$basename = basename($purl);031	$tmpname = explode('.', $basename);032	033	$purl = str_replace($basename, '', $purl).urlencode($this->Tag);034	//var_dump($purl);exit;035	//$purl .= "?/".urlencode($this->Tag);036	037	//获得上一页和下一页的链接038	//if($this->PageNo != 1) 这是修正上一页为负数的问题039	        if($this->PageNo != 1 && $this->PageNo != "")040	{041	$prepage.="<li><a href='".$purl."-$prepagenum'.html>上一页</a></li>/r/n";042	$indexpage="<li><a href='".$purl."-1.html'>首页</a></li>/r/n";043	}044	else045	{046	$indexpage="<li><a>首页</a></li>/r/n";047	}048	if($this->PageNo!=$totalpage && $totalpage>1)049	{050	$nextpage.="<li><a href='".$purl."-$nextpagenum.html'>下一页</a></li>/r/n";051	$endpage="<li><a href='".$purl."-$totalpage.html'>末页</a></li>/r/n";052	}053	else054	{055	$endpage="<li><a>末页</a></li>/r/n";056	}057	058	//获得数字链接059	$listdd="";060	$total_list = $list_len * 2 + 1;061	if($this->PageNo >= $total_list)062	{063	$j = $this->PageNo - $list_len;064	$total_list = $this->PageNo + $list_len;065	if($total_list > $totalpage)066	{067	$total_list = $totalpage;068	}069	}070	else071	{072	$j=1;073	if($total_list > $totalpage)074	{075	$total_list = $totalpage;076	}077	}078	for($j; $j<=$total_list; $j++)079	{080	if($j == $this->PageNo)081	{082	$listdd.= "<li class=/"thisclass/"><a>$j</a></li>/r/n";083	}084	else085	{086	$listdd.="<li><a href='".$purl."-$j.html'>".$j."</a></li>/r/n";087	}088	}089	$plist = '';090	if(preg_match('/info/i', $listitem))091	{092	$plist .= $maininfo.' ';093	}094	if(preg_match('/index/i', $listitem))095	{096	$plist .= $indexpage.' ';097	}098	if(preg_match('/pre/i', $listitem))099	{100	$plist .= $prepage.' ';101	}102	if(preg_match('/pageno/i', $listitem))103	{104	$plist .= $listdd.' ';105	}106	if(preg_match('/next/i', $listitem))107	{108	$plist .= $nextpage.' ';109	}110	if(preg_match('/end/i', $listitem))111	{112	$plist .= $endpage.' ';113	}114	return $plist;115	}116	3.设置伪静态规则117	118	我们这里以iis7为例子,设置以下规则:119	120	Copy to ClipboardLiehuo.Net Codes引用的内容:[www.veryhuo.com]121	<?XML version="1.0" encoding="UTF-8"?>122	<configuration>123	<system.webServer>124	<rewrite>125	<rules>126	<rule name="weather1" stopProcessing="true">127	<match url="tags/([^-]+)/.html$" ignoreCase="true" />128	<conditions logicalGrouping="MatchAll">129	<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />130	<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />131	</conditions>132	<action type="Rewrite" url="/tags.php?/{R:1}" appendQueryString="false" />133	</rule>134	<rule name="weather2" stopProcessing="true">135	<match url="tags/([^-]+)-([0-9]+)/.html$" ignoreCase="true" />136	<conditions logicalGrouping="MatchAll">137	<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />138	<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />139	</conditions>140	<action type="Rewrite" url="/tags.php?/{R:1}/{R:2}" appendQueryString="false" />141	</rule>142	</rules>143	</rewrite>144	</system.webServer>145	</configuration>
好了,至此就搞定了。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表