帝国cms修改实现TAG标签以TAGID的方式伪静态

帝国cms修改实现TAG标签以TAGID的方式伪静态

浏览次数:
作者: 墨鱼
信息来源: 本站原创
更新日期: 2016-08-23 16:32:26
文章简介

帝国CMS优化:实现TAG标签以TAGID伪静态,提升网站性能与用户体验,使URL更简洁、易读。确保数据精准且减少冗余,提高网页加载速度。

  • 正文开始
  • 相关阅读
  • 推荐作品

帝国cms简单修改实现TAGS以TAGID的方式伪静态,注:此方法已经从帝国7.5原版测试通过!(本方法修改系统文件)

改后的地址形式如:/tags-100-0.html  (数字100为TAG 的 ID)

第一步、打开/e/class/connect.php文件,找到

function eReturnRewriteTagsUrl($tagid,$tagname,$ecms=0){
    global $public_r;
    $tagname=urlencode($tagname);
    if(empty($public_r['rewritetags']))
    {
        $r['pageurl']=$public_r['newsurl']."e/tags/?tagname=".$tagname;
        $r['rewrite']=0;
    }
    else
    {
        if($ecms==1)
        {
            $r['pageurl']=$public_r['newsurl'].str_replace(array('[!--tagname--]','[!--page--]'),array($tagname,0),$public_r['rewritetags']);
        }
        else
        {
            $r['pageurl']=$public_r['newsurl'].str_replace('[!--tagname--]',$tagname,$public_r['rewritetags']);
        }
        $r['rewrite']=1;
    }
    return $r;
}

此函数整个修改为:

function eReturnRewriteTagsUrl($tagid,$tagname,$ecms=0){
global $public_r,$empire,$dbtbpre;
if(!$tagid){
$tagname=RepPostVar($tagname);
if(!$tagname)
{
$r['pageurl']=$public_r['newsurl'];
$r['rewrite']=0;
return $r;
}
$tagr=$empire->fetch1("select tagid,num from {$dbtbpre}enewstags where tagname='$tagname' limit 1");
if(!$tagr['tagid'])
{
$r['pageurl']=$public_r['newsurl'];
$r['rewrite']=0;
return $r;
}
$tagid=$tagr['tagid'];
}
if(empty($public_r['rewritetags']))
{
$r['pageurl']=$public_r['newsurl']."e/tags/?tagid=".$tagid;
$r['rewrite']=0;
}
else
{
if($ecms==1)
{
$r['pageurl']=$public_r['newsurl'].str_replace(array('[!--tagname--]','[!--page--]'),array($tagid,0),$public_r['rewritetags']);
}
else
{
$r['pageurl']=$public_r['newsurl'].str_replace('[!--tagname--]',$tagid,$public_r['rewritetags']);
}
$r['rewrite']=1;
}
return $r;
}

第二步、打开/e/tags/index.php文件

找到 

if(!empty($public_r['rewritetags'])&&empty($add)&&($search=='&tagname='.$tagname.'&line='.$public_r['tagslistnum'].'&tempid='.$public_r['tagstempid']||$search=='&tagid='.$tagid.'&line='.$public_r['tagslistnum'].'&tempid='.$public_r['tagstempid'])&&!$myorder)
{
    //伪静态
    $pagefunr=eReturnRewriteTagsUrl($tagid,$tagr['tagid']?$tagname:'etagid'.$tagid,0);
    $pagefunr['repagenum']=0;
    //分页
    if($pagefunr['rewrite']==1)
    {
        $listpage=InfoUsePage($num,$line,$page_line,$start,$page,$search,$pagefunr);
    }
    else
    {
        $listpage=page1($num,$line,$page_line,$start,$page,$search);
    }
}
else
{
    $listpage=page1($num,$line,$page_line,$start,$page,$search);//分页
}

修改为:

/*
if(!empty($public_r['rewritetags'])&&empty($add)&&($search=='&tagname='.$tagname.'&line='.$public_r['tagslistnum'].'&tempid='.$public_r['tagstempid']||$search=='&tagid='.$tagid.'&line='.$public_r['tagslistnum'].'&tempid='.$public_r['tagstempid'])&&!$myorder)
{
*/
        //伪静态
        $pagefunr=eReturnRewriteTagsUrl($tagid,$tagname,0);
        $pagefunr['repagenum']=0;
        //分页
        if($pagefunr['rewrite']==1)
        {
                $listpage=InfoUsePage($num,$line,$page_line,$start,$page,$search,$pagefunr);
        }
        else
        {

                $listpage=page1($num,$line,$page_line,$start,$page,$search);
        }
/*
}
else
{
        $listpage=page1($num,$line,$page_line,$start,$page,$search);//分页
}
*/

 

第三步:后台设置tag伪静态

按照默认,设置成:tags-[!--tagname--]-[!--page--].html 即可。

第四步:服务器伪静态规则

apache的伪静态规则如下,其它类型服务器请对照此自行修改:

RewriteRule ^tags-(.*)-(.*)$  e/tags/index.php?tagid=$1&page=$2

帝国cms7.2&7.0 充值点卡功能增加修改
« 上一篇 2016年07月24日
帝国CMS实现单条信息指定不同内容模板的方法
下一篇 » 2016年09月17日
  • 微软bing IndexNow的推送和管理-帝国CMS插件
    23阅读0条评论0个赞
    微软Bing IndexNow推送管理插件,专为帝国CMS打造。本教程指导您如何高效利用该插件,实现网站内容快速被Bing搜索引擎收录。通过简单配置,即可自动化推送新发布或更新的页面至Bing,加速索引过程,提升网站SEO效果。轻松管理推送历史,监控索引状态,确保网站内容及时展现给目标用户。优化网站可见性,从掌握Bing IndexNow推送管理开始。
  • 帝国CMS8.0测试版搜索结果页只显示第1页的解决方法
    50阅读0条评论0个赞
    对于刚安装帝国CMS8.0测试版尝鲜的小伙伴们可能发现,使用高级搜索的时候结果页只显示第1页,虽然帝国CMS开发者说正式版会解决此问题,但是临时使用还是要先解决这个问题的。所以今天墨鱼就说下临时的解决方法。
  • 【优化分享】帝国CMS大数据量筛选性能瓶颈突破实践
    243阅读0条评论5个赞
    突破帝国CMS大数据筛选性能瓶颈实战教程:掌握高效技巧,轻松应对海量数据处理挑战。本教程详解性能优化策略,助力快速筛选,提升系统响应速度。无论你是开发者还是管理员,都能从中获益,实现数据筛选效率飞跃,让帝国CMS在大数据环境下依然流畅运行。立即学习,解锁大数据处理新技能!
  • 帝国CMS统计多个数据表今日更新总数代码
    166阅读0条评论4个赞
    帝国CMS统计多表今日更新总数代码教程:通过SQL查询结合帝国CMS函数,汇总多个数据表中今日更新的记录总数。步骤包括编写SQL联合查询语句,利用`DATE()`函数筛选今日数据,结合帝国CMS的数据库操作函数执行查询,并输出结果。此教程教你高效获取多表今日更新概况,优化管理效率。
  • 帝国cms7.5无刷新 Ajax 点击加载更多列表信息源代码
    825阅读2条评论13个赞
    帝国CMS 7.5 Ajax无刷新加载,高效实现点击加载更多列表信息,精简源码仅展示核心功能,优化用户体验,提升网页加载效率。

如本文对您有帮助,就请墨鱼抽根烟吧!