zoukankan      html  css  js  c++  java
  • 织梦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> ";
      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> ";
      042
      042$indexpage="<li><a href='".$purl."-1.html'>首页</a></li> ";
      043
      043}
      044
      044 else
      045
      045{
      046
      046$indexpage="<li><a>首页</a></li> ";
      047
      047}
      048
      048 if($this->PageNo!=$totalpage&&$totalpage>1)
      049
      049{
      050
      050$nextpage.="<li><a href='".$purl."-$nextpagenum.html'>下一页</a></li> ";
      051
      051$endpage="<li><a href='".$purl."-$totalpage.html'>末页</a></li> ";
      052
      052}
      053
      053 else
      054
      054{
      055
      055$endpage="<li><a>末页</a></li> ";
      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> ";
      083
      083}
      084
      084 else
      085
      085{
      086
      086$listdd.="<li><a href='".$purl."-$j.html'>".$j."</a></li> ";
      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>
      好了,至此就搞定了。

  • 相关阅读:
    DGA域名可以是色情网站域名
    使用cloudflare加速你的网站隐藏你的网站IP
    167. Two Sum II
    leetcode 563. Binary Tree Tilt
    python 多线程
    leetcode 404. Sum of Left Leaves
    leetcode 100. Same Tree
    leetcode 383. Ransom Note
    leetcode 122. Best Time to Buy and Sell Stock II
    天津Uber优步司机奖励政策(12月28日到12月29日)
  • 原文地址:https://www.cnblogs.com/zqw111/p/13066071.html
Copyright © 2011-2022 走看看