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

  现在好多CMS系统都有TAGS标签这项功能,知名的DEDECMS也有,但是它的标签功能很差,不利于seo优化,同时也有很多问题,比如:当前页不存在上一页时,链接为“-1”的问题,还有出现“系统无此标签,可能已经移除”的问题。
  今天小编就教大家把标签伪静态(部分资料来源于网络),同时也修复了一些上述提到的BUG。
  1.修改前台显示链接
  我们这里达到的效果就是使原来/tags.php?keywors更改为/tags/keywords.html。
  这里主要修改下调用的标签,在/include/taglib/tag.lib.php中,在87行找到
  1
  1$row['link']=$cfg_cmsurl."/tags?".urlencode($row['keyword']);
  将其改为:https://www.rdredcross.org.cn
  1
  1$row['link']=$cfg_cmsurl."/tags/".urlencode($row['keyword']).".html";
  2.修改分页代码部分
  我们需要修改include/arc.taglist.class.php,找到分页函数,将其替换为:
  001
  001/**
  002
  002*获取动态的分页列表
  003
  003*
  004
  004* access public
  005
  005* param int$list_len列表宽度
  006
  006* param string$listitem列表样式
  007
  007* return string
  008
  008*/
  009
  009 function GetPageListDM($list_len,$listitem="info,index,end,pre,next,pageno")
  010
  010{
  011
  011$prepage="";
  012
  012$nextpage="";
  013
  013$prepagenum=$this->PageNo-1;
  014
  014$nextpagenum=$this->PageNo+1;
  015
  015 if($list_len==""||preg_match("/[^0-9]/",$list_len))
  016
  016{
  017
  017$list_len=3;
  018
  018}
  019
  019$totalpage=$this->TotalPage;
  020
  020 if($totalpage<=1&&$this->TotalResult>0)
  021
  021{
  022
  022 return"<span class=\"pageinfo\">共1页/".$this->TotalResult."条</span>";
  023
  023}
  024
  024 if($this->TotalResult==0)
  025
  025{
  026
  026 return"<span class=\"pageinfo\">共0页/".$this->TotalResult."条</span>";
  027
  027}
  028
  028$maininfo="<span class=\"pageinfo\">共{$totalpage}页/".$this->TotalResult."条</span>\r\n";
  029
  029$purl=$this->GetCurUrl();
  030
  030$basename=basename($purl);
  031
  031$tmpname=explode('.',$basename);
  032
  032
  033
  033$purl=str_replace($basename,'',$purl).urlencode($this->Tag);
  034
  034//var_dump($purl);exit;
  035
  035//$purl.="?/".urlencode($this->Tag);
  036
  036
  037
  037//获得上一页和下一页的链接
  038
  038//if($this->PageNo!=1)这是修正上一页为负数的问题
  039
  039 if($this->PageNo!=1&&$this->PageNo!="")
  040
  040{
  041
  041$prepage.="<li><a href='".$purl."-$prepagenum'.html>上一页</a></li>\r\n";
  042
  042$indexpage="<li><a href='".$purl."-1.html'>首页</a></li>\r\n";
  043
  043}
  044
  044 else
  045
  045{
  046
  046$indexpage="<li><a>首页</a></li>\r\n";
  047
  047}
  048
  048 if($this->PageNo!=$totalpage&&$totalpage>1)
  049
  049{
  050
  050$nextpage.="<li><a href='".$purl."-$nextpagenum.html'>下一页</a></li>\r\n";
  051
  051$endpage="<li><a href='".$purl."-$totalpage.html'>末页</a></li>\r\n";
  052
  052}
  053
  053 else
  054
  054{
  055
  055$endpage="<li><a>末页</a></li>\r\n";
  056
  056}
  057
  057
  058
  058//获得数字链接
  059
  059$listdd="";
  060
  060$total_list=$list_len*2+1;
  061
  061 if($this->PageNo>=$total_list)
  062
  062{
  063
  063$j=$this->PageNo-$list_len;
  064
  064$total_list=$this->PageNo+$list_len;
  065
  065 if($total_list>$totalpage)
  066
  066{
  067
  067$total_list=$totalpage;
  068
  068}
  069
  069}
  070
  070 else
  071
  071{
  072
  072$j=1;
  073
  073 if($total_list>$totalpage)
  074
  074{
  075
  075$total_list=$totalpage;
  076
  076}
  077
  077}
  078
  078 for($j;$j<=$total_list;$j++)
  079
  079{
  080
  080 if($j==$this->PageNo)
  081
  081{
  082
  082$listdd.="<li class=\"thisclass\"><a>$j</a></li>\r\n";
  083
  083}
  084
  084 else
  085
  085{
  086
  086$listdd.="<li><a href='".$purl."-$j.html'>".$j."</a></li>\r\n";
  087
  087}
  088
  088}
  089
  089$plist='';https://www.rdredcross.org.cn
  090
  090 if(preg_match('/info/i',$listitem))
  091
  091{
  092
  092$plist.=$maininfo.'';
  093
  093}
  094
  094 if(preg_match('/index/i',$listitem))
  095
  095{
  096
  096$plist.=$indexpage.'';
  097
  097}
  098
  098 if(preg_match('/pre/i',$listitem))
  099
  099{
  100
  100$plist.=$prepage.'';
  101
  101}
  102
  102 if(preg_match('/pageno/i',$listitem))
  103
  103{
  104
  104$plist.=$listdd.'';
  105
  105}
  106
  106 if(preg_match('/next/i',$listitem))
  107
  107{
  108
  108$plist.=$nextpage.'';
  109
  109}
  110
  110 if(preg_match('/end/i',$listitem))
  111
  111{
  112
  112$plist.=$endpage.'';
  113
  113}
  114
  114 return$plist;
  115
  115}
  116
  116 3.设置伪静态规则
  117
  117
  118
  118我们这里以iis7为例子,设置以下规则:
  119
  119
  120
  120 Copy to ClipboardLiehuo.Net Codes引用的内容:[www.veryhuo.com]
  121
  121<?xml version="1.0"encoding="UTF-8"?>
  122
  122<configuration>
  123
  123<system.webServer>
  124
  124<rewrite>
  125
  125<rules>
  126
  126<rule name="weather1"stopProcessing="true">
  127
  127<match url="tags/([^-]+)\.html$"ignoreCase="true"/>
  128
  128<conditions logicalGrouping="MatchAll">
  129
  129<add input="{REQUEST_FILENAME}"matchType="IsFile"negate="true"/>
  130
  130<add input="{REQUEST_FILENAME}"matchType="IsDirectory"negate="true"/>
  131
  131</conditions>
  132
  132<action type="Rewrite"url="/tags.php?/{R:1}"appendQueryString="false"/>
  133
  133</rule>
  134
  134<rule name="weather2"stopProcessing="true">
  135
  135<match url="tags/([^-]+)-([0-9]+)\.html$"ignoreCase="true"/>
  136
  136<conditions logicalGrouping="MatchAll">
  137
  137<add input="{REQUEST_FILENAME}"matchType="IsFile"negate="true"/>
  138
  138<add input="{REQUEST_FILENAME}"matchType="IsDirectory"negate="true"/>
  139
  139</conditions>
  140
  140<action type="Rewrite"url="/tags.php?/{R:1}/{R:2}"appendQueryString="false"/>
  141
  141</rule>
  142
  142</rules>
  143
  143</rewrite>
  144
  144</system.webServer>
  145
  145</configuration>
  好了,至此就搞定了。

posted @ 2020-06-08 15:40  赵sir阿  阅读(1127)  评论(0编辑  收藏  举报
友情链接: 3721家电维修 管道疏通 家电清洗 家电维修平台