Home > CMS Tutorial > DEDECMS > How to set pseudo-static TAG tag in DedeCMS 5.7 system

How to set pseudo-static TAG tag in DedeCMS 5.7 system

藏色散人
Release: 2019-12-17 09:15:06
Original
2062 people have browsed it

How to set pseudo-static TAG tag in DedeCMS 5.7 system

How to set the pseudo-static TAG label in DedeCMS 5.7 system?

1. Modify the front-end display link

Recommended learning: 梦Weavercms

The effect we achieve here is to make the original /tags. php?keywords is changed to /tags/keywords.html.

Here we mainly modify the tag called. In include/tag/libtag.lib.php, find the

code in line 87 as follows:

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

Change it to :

The code is as follows:

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

2. Modify the paging code

We need to modify include/arc.taglist.class.php and replace the paging function with:

The code is as follows:

/** * 获取动态的分页列表
*
* @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>rn";
$purl = $this->GetCurUrl();
$basename = basename($purl);
$tmpname = explode(&#39;.&#39;, $basename);
$purl = str_replace($basename, &#39;&#39;, $purl).urlencode($this->Tag);
//var_dump($purl);exit;
//$purl .= "?/".urlencode($this->Tag);
//获得上一页和下一页的链接
if($this->PageNo != 1)
{
$prepage.="<li><a href=&#39;".$purl."-$prepagenum&#39;.html>上一页</a></li>rn";
$indexpage="<li><a href=&#39;".$purl."-1.html&#39;>首页</a></li>rn";
}
else
{
$indexpage="<li><a>首页</a></li>rn";
}
if($this->PageNo!=$totalpage && $totalpage>1)
{
$nextpage.="<li><a href=&#39;".$purl."-$nextpagenum.html&#39;>下一页</a></li>rn";
$endpage="<li><a href=&#39;".$purl."-$totalpage.html&#39;>末页</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.= "<li class="thisclass"><a>$j</a></li>rn";
}
else
{
$listdd.="<li><a href=&#39;".$purl."-$j.html&#39;>".$j."</a></li>rn";
}
}
$plist = &#39;&#39;;
if(preg_match(&#39;/info/i&#39;, $listitem))
{
$plist .= $maininfo.&#39; &#39;;
}
if(preg_match(&#39;/index/i&#39;, $listitem))
{
$plist .= $indexpage.&#39; &#39;;
}
if(preg_match(&#39;/pre/i&#39;, $listitem))
{
$plist .= $prepage.&#39; &#39;;
}
if(preg_match(&#39;/pageno/i&#39;, $listitem))
{
$plist .= $listdd.&#39; &#39;;
}
if(preg_match(&#39;/next/i&#39;, $listitem))
{
$plist .= $nextpage.&#39; &#39;;
}
if(preg_match(&#39;/end/i&#39;, $listitem))
{
$plist .= $endpage.&#39; &#39;;
}
return $plist;
}
Copy after login

3. Set pseudo-static rules

We take iis7 as an example and set the following rules:

The code is as follows:

<?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>
Copy after login

Can be saved directly as web.config and placed in the root directory of the site.

4. Regenerate the html page

Needless to say, this operation needs to be regenerated, and now all modifications are completed.

The above is the detailed content of How to set pseudo-static TAG tag in DedeCMS 5.7 system. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template