帝国CMS 标签TAG实现以tagid的方式伪静态

时间:2022年07月10日

/

来源:网络

/

编辑:佚名

帝国CMS TAG标签实现以tagid的方式伪静态
自己这个博客站做好之后,TAG标签一直都是以动态URL显示,这样的网址不利于SEO,于是就想着把TAG标签的URL以tagid的形式进行伪静态处理,具体的实现方法如下:
1、打开/e/class/connect.php文件,找到
//返回TAGS列表伪静态
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;
}
此函数整个修改为:
//返回TAGS列表伪静态
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;
}
2、打开/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);//分页
}
*/
3、后台【系统设置】-【伪静态参数设置】设置TAG伪静态,设置成:tags-[!--tagname--]-[!--page--].html 即可。
4、服务器设置伪静态规则。
Apache的伪静态规则:
RewriteRule ^tags-(.*)-(.*)$  e/tags/index.php?tagid=$1&page=$2;
Nginx的伪静态规则:
rewrite ^([^.]*)/tags-(.+?)-(.+?).html$ $1/e/tags/index.php?tagid=$2&page=$3 last;
设置完成后,显示效果:https://www.78moban.com/tags-8-0.html。
注:修改前记得进行文件备份,部分使用灵动标签调用的TAG标签的部分,根据实际情况也要手动修改对应的标签。
猜你需要

豫ICP备2021026617号-1  豫公网安备:41172602000185   Copyright © 2021-2028 www.78moban.com/ All Rights Reserved

本站作品均来自互联网,转载目的在于传递更多信息,并不代表本站赞同其观点和对其真实性负责。如有侵犯您的版权,请联系 1565229909#qq.com(把#改成@),我们将立即处理。