DedeCMS系统TAG标签和分页伪静态设置教程
现在好多CMS系统都有TAGS标签这项功能,知名的DEDECMS也有,但是它的标签功能很差,不利于seo优化,同时也有很多问题,比如:当前页不存在上一页时,链接为“-1”的问题,还有出现“系统无此标签,可能已经移除”的问题。
今天dede58.com小编就教大家把标签伪静态(部分资料来源于网络),同时也修复了一些上述提到的BUG。
1.修改前台显示链接
我们这里达到的效果就是使原来/tags.php?keywors更改为/tags/keywords.html。
这里主要修改下调用的标签,在/include/taglib/tag.lib.php中,在87行找到
$row['link'] = $cfg_cmsurl."/tags?".urlencode($row['keyword']);
将其改为:
$row['link'] = $cfg_cmsurl."/tags/".urlencode($row['keyword']).".html";
2.修改分页代码部分
我们需要修改include/arc.taglist.class.php,找到分页函数,将其替换为:
Copy to ClipboardLiehuo.Net Codes引用的内容:[www.dede58.com] /** * 获取动态的分页列表 * * @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>\r\n"; $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) 这是修正上一页为负数的问题 if($this->PageNo != 1 && $this->PageNo != "") { $prepage.="<li><a href='".$purl."-$prepagenum'.html>上一页</a></li>\r\n"; $indexpage="<li><a href='".$purl."-1.html'>首页</a></li>\r\n"; } else { $indexpage="<li><a>首页</a></li>\r\n"; } if($this->PageNo!=$totalpage && $totalpage>1) { $nextpage.="<li><a href='".$purl."-$nextpagenum.html'>下一页</a></li>\r\n"; $endpage="<li><a href='".$purl."-$totalpage.html'>末页</a></li>\r\n"; } else { $endpage="<li><a>末页</a></li>\r\n"; } //获得数字链接 $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>\r\n"; } else { $listdd.="<li><a href='".$purl."-$j.html'>".$j."</a></li>\r\n"; } } $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.设置伪静态规则 我们这里以iis7为例子,设置以下规则: Copy to ClipboardLiehuo.Net Codes引用的内容:[www.dede58.com] <?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> |
好了,至此就搞定了。如果您还有什么问题,请与最火软件站联系。
免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。
☉本站的源码不会像其它下载站一样植入大量的广告。为了更好的用户体验以后坚持不打水印
☉本站只提供精品织梦源码,源码在于可用,不在多!!希望在这里找到你合适的。
☉本站提供的整站织梦程序,均带数据及演示地址。可以在任一源码详情页查看演示地址
☉本站所有资源(包括源码、模板、素材、特效等)仅供学习与参考,请勿用于商业用途。
☉如有其他问题,请加网站客服QQ进行交流。
- 织梦更新后不能生成的问题解答
- 解决织梦 \include\userlogin.class.php on line 21
- dede查询列表中单独显示查到了多少条记录
- dede给dede_sys_enum添加字段father示例
- dedecms搬家时出现数据库导入失败的解决方法
- dedecms调用当前栏目的子栏目的两种方法分享
- DEDECMS内容页分页过多、过长问题最佳解决方案
- dedecms自定义表单用js代替联动类型解决联动问题
- 织梦dede修改关键字长度的方法
- 织梦dede后台卡、假死解决方法
- 织梦dedecms5.7生成首页提示404错误解决办法
- 织梦CMS提示DedeTag Engine Create File False错误的
常用故障问题
- dedecms网站管理系统后台空白的解决办法大全
- dedecms模板文件不存在 无法解析文档
- gbk版织梦在php5.4下系统基本设置不能保存中文以及在
- 把数据保存到数据库附加表 `dede_addonarticle` 时出
- 四种方法解决织梦DEDECMS后台验证码不正确不显示的方
- 如何解决织梦DedeCms文章标题字数长度限制的方法教程
- DEDE自由列表的"不使用目录默认主页"错误修正
- dedecms后台如何加入自定义媒体视频播放功能
- dede织梦图片集上传时提示错误信息“(FILEID:1|2|3..)
- dede图集后台上传图片报错 提示红色FILEID错误的处理
- 织梦后台突然打不开或打开后空白的解决方法
- 解决方法:dede数据库更新附加表 `dede_addonarticle`