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

现在好多CMS系统都有TAGS标签这项功能,知名的DEDECMS也有,但是它的标签功能很差,不利于seo优化,同时也有很多问题,比如:当前页不存在上一页时,链接为-1的问题,还有出现系统无此标签,可能已经移除的问题。 今天跟版网小编就教大家把标签伪静态(部分
现在好多CMS系统都有TAGS标签这项功能,知名的DEDECMS也有,但是它的标签功能很差,不利于seo优化,同时也有很多问题,比如:当前页不存在上一页时,链接为“-1”的问题,还有出现“系统无此标签,可能已经移除”的问题。
 
今天跟版网小编就教大家把标签伪静态(部分资料来源于网络),同时也修复了一些上述提到的BUG。
 
1.修改前台显示链接 
 
我们这里达到的效果就是使原来/tags.php?keywors更改为/tags/keywords.html。 
 
这里主要修改下调用的标签,在/include/taglib/tag.lib.php中,在87行找到 
 
$row['link'] = $cfg_cmsurl."/tags?".urlencode($row['keyword']); 
 
将其改为: 
 
$row['link'] = $cfg_cmsurl."/tags/".urlencode($row['keyword']).".html";
 
2.修改分页代码部分
 
我们需要修改include/arc.taglist.class.php,找到分页函数,将其替换为:

/** 
* 获取动态的分页列表 
* 
* @access public 
* @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("/[^0-9]/", $list_len)) 
{ 
$list_len = 3; 
} 
$totalpage = $this->TotalPage; 
if($totalpage <= 1 && $this->TotalResult > 0) 
{ 
return "<span class=\"pageinfo\">共1页/".$this->TotalResult."条</span>"; 
} 
if($this->TotalResult == 0) 
{ 
return "<span class=\"pageinfo\">共0页/".$this->TotalResult."条</span>"; 
} 
$maininfo = "<span class=\"pageinfo\">共{$totalpage}页/".$this->TotalResult."条</span>\r\n"; 
$purl = $this->GetCurUrl(); 
$basename = basename($purl); 
$tmpname = explode('.', $basename); 

$purl = str_replace($basename, '', $purl).urlencode($this->Tag); 
//var_dump($purl);exit; 
//$purl .= "?/".urlencode($this->Tag); 

//获得上一页和下一页的链接 
//if($this->PageNo != 1) 这是修正上一页为负数的问题
        if($this->PageNo != 1 && $this->PageNo != "")
{ 
$prepage.="<li><a href='".$purl."-$prepagenum'.html>上一页</a></li>\r\n"; 
$indexpage="<li><a href='".$purl."-1.html'>首页</a></li>\r\n"; 
} 
else 
{ 
$indexpage="<li><a>首页</a></li>\r\n"; 
} 
if($this->PageNo!=$totalpage && $totalpage>1) 
{ 
$nextpage.="<li><a href='".$purl."-$nextpagenum.html'>下一页</a></li>\r\n"; 
$endpage="<li><a href='".$purl."-$totalpage.html'>末页</a></li>\r\n"; 
} 
else 
{ 
$endpage="<li><a>末页</a></li>\r\n"; 
} 

//获得数字链接 
$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 class=\"thisclass\"><a>$j</a></li>\r\n"; 
} 
else 
{ 
$listdd.="<li><a href='".$purl."-$j.html'>".$j."</a></li>\r\n"; 
} 
} 
$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('/pageno/i', $listitem)) 
{ 
$plist .= $listdd.' '; 
} 
if(preg_match('/next/i', $listitem)) 
{ 
$plist .= $nextpage.' '; 
} 
if(preg_match('/end/i', $listitem)) 
{ 
$plist .= $endpage.' '; 
} 
return $plist; 
}
3.设置伪静态规则

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

Copy to ClipboardLiehuo.Net Codes引用的内容:[www.veryhuo.com]
<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
<system.webServer> 
<rewrite> 
<rules> 
<rule name="weather1" stopProcessing="true"> 
<match url="tags/([^-]+)\.html$" ignoreCase="true" /> 
<conditions logicalGrouping="MatchAll"> 
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> 
</conditions> 
<action type="Rewrite" url="/tags.php?/{R:1}" appendQueryString="false" /> 
</rule> 
<rule name="weather2" stopProcessing="true"> 
<match url="tags/([^-]+)-([0-9]+)\.html$" ignoreCase="true" /> 
<conditions logicalGrouping="MatchAll"> 
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> 
</conditions> 
<action type="Rewrite" url="/tags.php?/{R:1}/{R:2}" appendQueryString="false" /> 
</rule> 
</rules> 
</rewrite> 
</system.webServer> 
</configuration> 
好了,至此就搞定了。
本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

相关文档推荐

使用过DedeCMS的站长应当都遇到过这样的问题,在我们删掉一些文章内容后,tags标识中就慢慢拥有许多失效的标识存有,这种TAGS标识并不会跟随大家删掉文章内容一起删掉,如果是受欢迎的词还行,有很多文章内容都是有,如果是小众词,便会发生在TAGS目录有词,
修改织梦DEDECMS中TAG标签字数长度限制的方法共两个步骤,分别是对数据库字数和提交文件的字数进行修改。 一、我们通过织梦DEDECMS后台程序中的系统设置栏目下的SQL命令行工具,来修改数据库中表dede_tagindex 和dede_taglist的tag字段属性,将TAG字段属性中
我们想让dedecms织梦第一页与其他第二页、第三页、、、后面的页调用的不同模板,这个要怎么实现呢? 第一步 修改核心文件 打开 /include/arc.listview.class.php 找到,大概在第330行 $this-ParseDMFields($this-PageNo,1); 在它的上面加入: $tempfile = $GL
这篇文章给大家分享的是有关织梦dedecms调用当前栏目文章数的方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。 做模板时,经常需要为每个栏目加上此栏目的文章数。和大家分享下实现的方法,此方法适合5.6及5.7、5.7sp1其它
dedecms织梦无需登录注册可下单购买的修改,首先找到/plus/carbuaction.php文件,找到如下代码: //确认用户登录信息if($cfg_ml-IsLogin()){ $userid = $cfg_ml-M_ID;}else{ $username = trim($username); $password = trim($password); if(empty($username)
现在许多网站使用了SSL技术,网站采用https链接,我们在复制https链接网站的内容,发现图片无法本地化,那么我们想要将这些图片本地化,要怎么操作呢? 第一步: 找到dede/inc/inc_archives_functions.php (注:前边红色的dede目录是您的后台目录) 定位到