如何为DedeCMS 5.7系统配置TAG标签的伪静态设置?
- 行业动态
- 2024-09-28
- 4492
/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.php
、include/arc.listview.class.php
等)是否正确无误,并且已上传到服务器,确认您在后台参数设置中已启用了伪静态选项(后台 > 系统参数 > 核心设置 > 是否使用伪静态:选择“是”),如果以上都确认无误但问题依旧存在,请尝试清理浏览器缓存或更换浏览器访问,以排除浏览器缓存导致的显示问题,如果问题仍未解决,请检查服务器日志以获取更详细的错误信息,并根据错误提示进行相应的排查和修复,在进行任何修改之前,务必备份好网站数据和配置文件以防万一。
本站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本站,有问题联系侵删!
本文链接:http://www.xixizhuji.com/fuzhu/78708.html