• 全国400电话网上服务平台
    强大号码库资源任选,方便,快捷,快速开通。
    咨询热线:400-1100-266  

    织梦cms系统TAG标签和分页伪静态设置教程
    POST TIME:2021-05-23 00:48
    现在好多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 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>\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	else
    045	{
    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	else
    054	{
    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	else
    071	{
    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	else
    085	{
    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>
    
    好了,至此就搞定了。
    
    关于我们 | 付款方式 | 建站知识 | 增值服务 | 网站模板
    Copyright © 2003-2016
    时间:9:00-21:00 (节假日不休)
    版权所有:巨人网络(扬州)科技有限公司
    总部地址:江苏省信息产业基地11号楼四层
    《增值电信业务经营许可证》 苏B2-20120278
    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信

    微信号已复制,请打开微信添加咨询详情!