当前位置:首页 > 行业动态 > 正文

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

在DedeCMS 5.7系统中,要设置TAG标签的伪静态,请按照以下步骤操作:,,1. 打开 /plus/tag_ajax.php文件。,2. 在文件中找到 $reurl = $cfg_basedir.'tag_'.$tid.''.$tag.'.html';这一行。,3. 将这一行修改为 $reurl = $cfg_basedir.'tag'.$tid.''.$tag.'.html';。,4. 保存文件并上传到服务器。,,完成以上步骤后,DedeCMS 5.7系统的TAG标签伪静态设置就完成了。

在DedeCMS 5.7系统中,TAG标签伪静态设置是一个重要环节,它不仅能够提升网站的SEO效果,还可以提高用户访问体验,以下是详细的设置步骤:

修改前台显示链接

1、找到并修改代码

打开文件include/taglib/tag.lib.php

在第87行找到以下代码:

“`php

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

“`

将其修改为:

“`php

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

“`

保存并上传文件到服务器。

2、验证修改效果

访问网站,查看TAG标签页面的URL是否已经从/tags.php?/dedecms5.7/ 更改为/tags/dedecms5.7.html

修改分页代码

1、找到并修改分页代码

打开文件include/arc.taglist.class.php

找到以下代码:

“`php

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("/[^09]/", $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>";

$purl = $this>GetCurUrl();

$basename = basename($purl);

$tmpname = explode(‘.’, $basename);

$purl = str_replace($basename, ”, $purl).urlencode($this>Tag);

$purl .= "?/".urlencode($this>Tag);

$purl .= "?/".urlencode($this>Tag);

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

if ($this>PageNo != 1) {

$prepage.="<li><a href=’".$purl."$prepagenum’.html>上一页</a></li>";

$indexpage="<li><a href=’".$purl."1.html’>首页</a></li>";

} else {

$indexpage="<li><a>首页</a></li>";

}

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

$nextpage.="<li><a href=’".$purl."$nextpagenum’.html>下一页</a></li>";

$endpage="<li><a href=’".$purl."$totalpage’.html’>末页</a></li>";

} else {

$endpage="<li><a>末页</a></li>";

}

// 获取数字链接

$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;

$j=1;

}

for ($j; $j<=$total_list; $j++) {

if ($j == $this>PageNo) {

$listdd.= "<li class=’thisclass’><a>$j</a></li>";

} else {

$listdd.="<li><a href=’".$purl."$j.html’>".$j."</a></li>";

}

}

}

$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;

}

“`

将上述代码中的相关部分替换为:

“`php

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("/[^09]/", $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>";

$purl = $this>GetCurUrl();

$basename = basename($purl);

$tmpname = explode(‘.’, $basename);

$purl = str_replace($basename, ”, $purl).urlencode($this>Tag);

$purl .= "/".urlencode($this>Tag);

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

if ($this>PageNo != 1) {

$prepage.="<li><a href=’".$purl."$prepagenum’.html>上一页</a></li>";

$indexpage="<li><a href=’".$purl."1.html’>首页</a></li>";

} else {

$indexpage="<li><a>首页</a></li>";

}

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

$nextpage.="<li><a href=’".$purl."$nextpagenum’.html>下一页</a></li>";

$endpage="<li><a href=’".$purl."$totalpage’.html’>末页</a></li>";

} else {

$endpage="<li><a>末页</a></li>";

}

// 获取数字链接

$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;

$j=1;

}

for ($j; $j<=$total_list; $j++) {

if ($j == $this>PageNo) {

$listdd.= "<li class=’thisclass’><a>$j</a></li>";

} else {

$listdd.="<li><a href=’".$purl."$j.html’>".$j."</a></li>";

}

}

}

$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;

}

“`

保存并上传文件到服务器。

2、验证修改效果

访问网站,查看TAG标签分页的URL是否已经从/tags.php?/dedecms5.7/?tid=x&page=y 更改为/tags/dedecms5.7/xy.html

设置伪静态规则(以IIS7为例)

1、创建httpd.ini文件

在网站根目录下创建一个名为httpd.ini的文件。

添加以下伪静态规则:

“`ini

[ISAPI_Rewrite]

# 3600 = 1 hour

CacheClockRate 3600

RepeatLimit 32

RewriteRule ^(.*)/RMB/list([09]+).html $1/plus/list.php?tid=$2 [I]

RewriteRule ^(.*)/RMB/list([09]+)([09]+)([09]+).html $1/plus/list.php?tid=$2&TotalResult=$3&PageNo=$4 [I]

RewriteRule ^(.*)/RMB/huilv([09]+)([09]+).html $1/huilv/?from=$2&to=$3&num=$4 [I]

RewriteRule ^(.*)/(.*)_(.*)_([09]+).html $1/huilv/?from=$2&to=$3&num=$4 [I]

RewriteRule ^(.*)/tags.html $1/tags.php [I]

RewriteRule ^(.*)/tags/(.*)(?:(?.*))* $1/tags.php?/$2 [I]

RewriteRule ^(.*)/tags/(.*)/(?:(?.*))* $1/tags.php?/$2/ [I]

RewriteRule ^(.*)/tags/(.*)/([09])(?:(?.*))* $1/tags.php?/$2/$3 [I]

RewriteRule ^(.*)/tags/(.*)/([09])/(?:(?.*))* $1/tags.php?/$2/$3/ [I]

“`。

2、应用伪静态规则

确保IIS服务器已加载ISAPI_Rewrite模块。

httpd.ini文件上传到网站根目录。

重启IIS服务器以使配置生效。

3、验证设置效果

访问网站,查看TAG标签及其分页的URL是否已经按照预期进行了伪静态处理,如果一切正常,URL应该类似于/tags/dedecms5.7/xy.html/tags/dedecms5.7/xyz.html的形式。

FAQs(常见问题解答)

为了帮助您更好地理解和解决在DedeCMS 5.7中设置TAG标签伪静态时可能遇到的问题,以下是一些常见问题及其解答:

1、Q: DedeCMS 5.7系统支持哪些服务器环境进行伪静态设置?:A: DedeCMS 5.7系统可以在Apache和IIS服务器环境中进行伪静态设置,对于Apache服务器,可以通过修改.htaccess文件来实现;对于IIS服务器,则需要加载Rewrite组件并配置httpd.ini文件,确保您的服务器空间支持伪静态是实现这一功能的前提,如果您使用的是自己的服务器,可以自行进行配置;如果是虚拟主机,建议与IDC商联系确认是否支持伪静态,大多数空间都是支持伪静态的。

2、Q: 在进行伪静态设置后,为什么有时网站无法正常访问或显示错误信息?:A: 如果在进行伪静态设置后遇到网站无法正常访问或显示错误信息的情况,请首先检查以下几点:确保您的服务器环境(如Apache或IIS)已正确配置伪静态规则,并且这些规则已生效,检查您编辑的PHP源码文件(如include/helpers/channelunit.helper.phpinclude/arc.listview.class.php等)是否正确无误,并且已上传到服务器,确认您在后台参数设置中已启用了伪静态选项(后台 > 系统参数 > 核心设置 > 是否使用伪静态:选择“是”),如果以上都确认无误但问题依旧存在,请尝试清理浏览器缓存或更换浏览器访问,以排除浏览器缓存导致的显示问题,如果问题仍未解决,请检查服务器日志以获取更详细的错误信息,并根据错误提示进行相应的排查和修复,在进行任何修改之前,务必备份好网站数据和配置文件以防万一。

0