发布时间:2022-03-31 文章分类:Dedecms 教程 投稿人:樱花 字号: 默认 | | 超大 打印

开发方法

1、修改一下tag链接形式的伪静态化,打开/include/taglibtag.lib.php中,找到

$row['link'] = $cfg_cmsurl."/tags?".urlencode($row['keyword']);

将其改为:

$row['link'] = $cfg_cmsurl."/tags/".urlencode($row['keyword']).".html";

2、分页链接形式伪静态化修改,打开/include/arc.taglist.class.php,将其分页函数替换为以下代码(整个函数替换,做好备份):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
functionGetPageListDM($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"<spanclass="pageinfo">共1页/".$this->TotalResult."条</span>";
}
if($this->TotalResult==0)
{
return"<spanclass="pageinfo">共0页/".$this->TotalResult."条</span>";
}
$maininfo="<spanclass="pageinfo">共{$totalpage}页/".$this->TotalResult."条</span>rn";
$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)
{
$prepage.="<li><ahref='".$purl."-$prepagenum'.html>上一页</a></li>rn";
$indexpage="<li><ahref='".$purl."-1.html'>首页</a></li>rn";
}
else
{
$indexpage="<li><a>首页</a></li>rn";
}
if($this->PageNo!=$totalpage&&$totalpage>1)
{
$nextpage.="<li><ahref='".$purl."-$nextpagenum.html'>下一页</a></li>rn";
$endpage="<li><ahref='".$purl."-$totalpage.html'>末页</a></li>rn";
}
else
{
$endpage="<li><a>末页</a></li>rn";
}
//获得数字链接
$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.="<liclass="thisclass"><a>$j</a></li>rn";
}
else
{
$listdd.="<li><ahref='".$purl."-$j.html'>".$j."</a></li>rn";
}
}
$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、伪静态规则(整个根据服务器不一样,选择不同的规则,这里提供web.config的规则)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?xmlversion="1.0"encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rulename="weather1"stopProcessing="true">
<matchurl="tags/([^-]+).html$"ignoreCase="true"/>
<conditionslogicalGrouping="MatchAll">
<addinput="{REQUEST_FILENAME}"matchType="IsFile"negate="true"/>
<addinput="{REQUEST_FILENAME}"matchType="IsDirectory"negate="true"/>
</conditions>
<actiontype="Rewrite"url="/tags.php?/{R:1}"appendQueryString="false"/>
</rule>
<rulename="weather2"stopProcessing="true">
<matchurl="tags/([^-]+)-([0-9]+).html$"ignoreCase="true"/>
<conditionslogicalGrouping="MatchAll">
<addinput="{REQUEST_FILENAME}"matchType="IsFile"negate="true"/>
<addinput="{REQUEST_FILENAME}"matchType="IsDirectory"negate="true"/>
</conditions>
<actiontype="Rewrite"url="/tags.php?/{R:1}/{R:2}"appendQueryString="false"/>
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>

免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。