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


  现在好多CMS系统都有TAGS标签这项功能,知名的DEDECMS也有,但是它的标签功能很差,不利于seo优化,同时也有很多问题,比如:当前页不存在上一页时,链接为“1”的问题,还有出现“系统无此标签,可能已经移除”的问题。
  今天小编就教大家把标签伪静态(部分资料来源于网络),同时也修复了一些上述提到的BUG。
  1.修改前台显示链接
  我们这里达到的效果就是使原来/tags.php?keywors更改为/tags/keywords。
  这里主要修改下调用的标签,在/include/taglib/tag.lib.php中,在87行找到
  1
  1$row['link']=$cfg_cmsurl."/tags?".urlencode($row['keyword']);
  将其改为:rdredcrossn
  1
  1$row['link']=$cfg_cmsurl."/tags/".urlencode($row['keyword'])."";
  2.修改分页代码部分
  我们需要修改include/arc.taglistlass.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
  019
  019$totalpage=$this>TotalPage;
  020
  020 if($totalpage<=1&&$this>TotalResult>0)
  021
  021
  024
  024 if($this>TotalResult==0)
  025
  025
  028
  028$maininfo="<span class=\"pageinfo\">共页/".$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
  044
  044 else
  045
  045
  048
  048 if($this>PageNo!=$totalpage&&$totalpage>1)
  049
  049
  053
  053 else
  054
  054
  057
  057
  058
  058//获得数字链接
  059
  059$listdd="";
  060
  060$total_list=$list_len*2+1;
  061
  061 if($this>PageNo>=$total_list)
  062
  062
  069
  069}
  070
  070 else
  071
  071
  077
  077}
  078
  078 for($j;$j<=$total_list;$j++)
  079
  079
  084
  084 else
  085
  085
  088
  088}
  089
  089$plist='';rdredcrossn
  090
  090 if(preg_match('/info/i',$listitem))
  091
  091
  094
  094 if(preg_match('/index/i',$listitem))
  095
  095
  098
  098 if(preg_match('/pre/i',$listitem))
  099
  099
  102
  102 if(preg_match('/pageno/i',$listitem))
  103
  103
  106
  106 if(preg_match('/next/i',$listitem))
  107
  107
  110
  110 if(preg_match('/end/i',$listitem))
  111
  111
  114
  114 return$plist;
  115
  115}
  116
  116 3.设置伪静态规则
  117
  117
  118
  118我们这里以iis7为例子,设置以下规则:
  119
  119
  120
  120 Copy to ClipboardLiehuo.Net Codes引用的内容:[veryhuo]
  121
  121<?xml version="1.0"encoding="UTF8"?>
  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/([^]+)\$"ignoreCase="true"/>
  128
  128<conditions logicalGrouping="MatchAll">
  129
  129<add input=""matchType="IsFile"negate="true"/>
  130
  130<add input=""matchType="IsDirectory"negate="true"/>
  131
  131</conditions>
  132
  132<action type="Rewrite"url="/tags.php?/"appendQueryString="false"/>
  133
  133</rule>
  134
  134<rule name="weather2"stopProcessing="true">
  135
  135<match url="tags/([^]+)([09]+)\$"ignoreCase="true"/>
  136
  136<conditions logicalGrouping="MatchAll">
  137
  137<add input=""matchType="IsFile"negate="true"/>
  138
  138<add input=""matchType="IsDirectory"negate="true"/>
  139
  139</conditions>
  140
  140<action type="Rewrite"url="/tags.php?//"appendQueryString="false"/>
  141
  141</rule>
  142
  142</rules>
  143
  143</rewrite>
  144
  144</system.webServer>
  145
  145</configuration>
  好了,至此就搞定了。



上一篇:织梦dedecms使用Mysql8.0无法登录后台的解决办法

下一篇:DedeCMS提示"Call to a member function GetInnerText()"解决办法


dedecms
Copyright © 2002-2019 k262电脑网 www.k262.cn 皖ICP备2020016292号
温馨提示:部分文章图片数据来源与网络,仅供参考!版权归原作者所有,如有侵权请联系删除!QQ:251442993 热门搜索 网站地图