如何为DedeCMS系统中的TAG标签配置伪静态?

DedeCMS系统中,可以通过修改配置文件和.htaccess文件来实现TAG标签的伪静态设置。
DedeCMS系统中,可以通过修改配置文件和.htaccess文件来实现TAG标签的伪静态设置。

修改DedeCMS程序文件

1、tags.php文件:在DedeCMS程序目录下找到tags.php文件,打开文件,找到以下代码段:

如何为DedeCMS系统中的TAG标签配置伪静态?
如何为DedeCMS系统中的TAG标签配置伪静态?

“`php

$PageNo=1到exit();

“`

将这段代码替换为以下内容:

“`php

//tag伪静态

$tagid = (isset($tagid) && is_numeric($tagid)) ? $tagid : 0;

$PageNo = (isset($PageNo) && is_numeric($PageNo)) ? $PageNo : 1;

if ($tagid == “0”) {

$dlist = new TagList($tag, ‘tag.htm’);

$dlist>Display();

} else {

$row = $dsql>GetOne(“SELECT tag FROM#@__tagindex WHERE id ={$tagid}”);

if (!is_array($row)) {

ShowMsg(‘系统无此tag’, ‘1’);

exit();

}

$tag = FilterSearch($row[‘tag’]);

$dlist = new TagList($tag, ‘taglist.htm’);

$dlist>Display();

}

exit();

“`

2、tag.lib.php文件:打开include/taglib/tag.lib.php文件,找到以下代码段:

“`php

$row[‘link’] =$cfg_cmsurl.”/tags.php?/”.urlencode($row[‘keyword’]).”/”;

“`

将其替换为:

“`php

$row[‘link’] = “/tags/”.urlencode($row[‘keyword’]).”/”;

“`

3、arc.taglist.class.php文件:打开include/arc.taglist.class.php文件,找到分页函数部分,将以下代码段替换为新的分页函数:

如何为DedeCMS系统中的TAG标签配置伪静态?
如何为DedeCMS系统中的TAG标签配置伪静态?

“`php

//获得上一页和下一页的链接

if($this>PageNo != 1) {

$prepage .= “<li><a href=’”.$purl.”_$prepagenum.html’>上一页</a></li>r

“;

$indexpage=”<li><a href=’”.$purl.”.html’>首页</a></li>r

“;

} else {

$indexpage=”<li><a href=’$purl.html’>首页</a></li>r

“;

}

if($this>PageNo != $totalpage && $totalpage > 1) {

$nextpage .= “<li><a href=’”.$purl.”_$nextpagenum.html’>下一页</a></li>r

“;

$endpage=”<li><a href=’”.$purl.”_$totalpage.html’>末页</a></li>r

“;

} else {

$endpage=”<li><a>末页</a></li>r

“;

}

“`

设置伪静态规则

根据不同的服务器环境,设置相应的伪静态规则:

1、Apache环境下的规则:新建一个文本文件,添加以下规则,另存为.htaccess上传到网站根目录,如果已有.htaccess文件,直接添加规则并保存即可。

“`apache

RewriteBase /

RewriteRule ^tags/([09]+)_([09]+).html$ tags.php?tagid=$1&PageNo=$2 [L]

RewriteRule ^tags/([09]+).html$ tags.php?tagid=$1 [L]

“`

2、nginx环境下的规则:在nginx配置文件中添加以下规则:

“`nginx

rewrite “^/tags/([09]+).html$” /tags.php?tagid=$1 last;

rewrite “^/tags/([09]+)_([09]+).html$” /tags.php?tagid=$1&PageNo=$2 last;

如何为DedeCMS系统中的TAG标签配置伪静态?
如何为DedeCMS系统中的TAG标签配置伪静态?

“`

3、IIS环境下的规则:在web.config文件中添加以下规则:

“`xml

<configuration>

<system.webServer>

<rewrite>

<rules>

<rule name=”weather1″ stopProcessing=”true”>

<match url=”^tags/([09]+).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?tagid={R:1}” appendQueryString=”false” />

</rule>

<rule name=”weather2″ stopProcessing=”true”>

<match url=”^tags/([09]+)_([09]+).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?tagid={R:1}&amp;PageNo={R:2}” appendQueryString=”false” />

</rule>

</rules>

</rewrite>

</system.webServer>

</configuration>

“`

FAQs

1、为什么设置了伪静态后仍然出现404错误?:这通常是因为伪静态规则没有正确设置或服务器不支持伪静态,请检查伪静态规则是否正确,并确保服务器已启用mod_rewrite模块(对于Apache)或URL重写功能(对于IIS)。

2、如何验证伪静态是否生效?:可以通过查看网页源代码或使用浏览器的开发者工具来检查生成的链接是否包含“.html”扩展名,还可以尝试访问一些带有参数的链接,看它们是否被重写为静态链接。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
云服务器

如何彻底卸载dede织梦后台的织梦内容管理系统?

2024-9-29 13:03:24

云服务器

如何修复DedeCMS中Tag disabled:php错误的问题?

2024-9-29 13:03:27

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索