admin 发表于 2014-11-22 12:14:51

帝国CMS自定义伪静态插件{SEO栏目优化利器}[支持7.0,7.2]

帝国CMS自定义伪静态插件{SEO栏目优化利器}[支持7.0,7.2]
本文关键字词:自定义伪静态,栏目目录伪静态,内容目录伪静态,帝国cms伪静态,SEO栏目优化

实现栏目目录伪静态,比如news/china/69_1.html 是伪静态实现的,而不是生成静态的。纯绿色不影响帝国原有伪静态、静态和动态等功能设置。

1:栏目要选静态 不生成
2:内容页存放目录--栏目目录,内容页目录存放形式--不设置目录,(有利SEO,方便匹配栏目ID)
3:内容页文件命名形式 不能是目录,但是支持信息文件名的修改,URL也能很好看
4:栏目目录和信息文件名是英文或数字(栏目目录建议英文或英文开头,“-_”上下划线留着给别的东西用吧避免冲突如其它伪静态,避免冲突)
********为了通用只能遵守上述要求,有这些特殊需求自己改去*********

栏目设置截图演示:




伪静态规则:#栏目
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond $1 !^(d/|e/|html/|images/|s/|search/|skin/|t/)
RewriteRule ^(+)/(|index\.html|index_+\.html)$ /e/action/list\.php\?classid=$1&page=$2
#内容
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond $1 !^(d/|e/|html/|images/|s/|search/|skin/|t/)
RewriteRule ^(+)/(+)(*)\.html$ /e/action/show\.php\?classid=$1&id=$2&page=$3

在/e/action/下增加如下php文件:
列表list.php代码:
<?php
require('../class/connect.php');
require('../class/db_sql.php');
require('../class/functions.php');
require('../class/t_functions.php');
require('../data/dbcache/class.php');
require LoadLang('pub/fun.php');
$link=db_connect();
$empire=new mysqlquery();
$editor=1;
$classid=RepPostStr($_GET['classid']);//修改过滤方式--yognlan
//获取真实classid--yognlan
if(!is_numeric($classid)){
    foreach ($class_r as $val){
      foreach ($val as $val2){
            if($classid==$val['classpath']){
                $classid=$val['classid'];
                break;
            }
      }
    }
}
if(empty($classid))
{
      printerror("ErrorUrl","history.go(-1)",1);
}
$search='&classid='.$classid;
$tbname=$class_r[$classid];
$mid=$class_r[$classid];
if(empty($tbname)||empty($mid)||InfoIsInTable($tbname))
{
      printerror("ErrorUrl","history.go(-1)",1);
}
$cr=$empire->fetch1("select classid,classpagekey,intro,classimg,cgroupid,islist,classtempid,listdt,bdinfoid,repagenum,islast,infos from {$dbtbpre}enewsclass where classid='$classid'");
if(empty($cr['classid']))
{
      printerror("ErrorUrl","history.go(-1)",1);
}
if($class_r[$classid]&&$cr['bdinfoid'])
{
      printerror("ErrorUrl","history.go(-1)",1);
}
//是否支持动态页
/*伪静态不需要
if(empty($class_r[$classid]['listdt'])&&!$cr['repagenum'])
{
      $classurl=sys_ReturnBqClassname($cr,9);
      Header("Location:$classurl");
      exit();
}
*/
//权限
if($cr['cgroupid'])
{
      $mgroupid=(int)getcvar('mlgroupid');
      if(!strstr($cr,','.$mgroupid.','))
      {
                printerror('NotLevelToClass','history.go(-1)',1);
      }
}
$GLOBALS['navclassid']=$classid;
$url=ReturnClassLink($classid);
$pagetitle=$class_r[$classid]['classname'];
$pagekey=$cr['classpagekey'];
$pagedes=$cr['intro'];
$classimg=$cr['classimg']?$cr['classimg']:$public_r.'e/data/images/notimg.gif';
//---封面式---
if(!$class_r[$classid]&&$cr['islist']!=1)
{
    /*伪静态不需要 ---yonglan
      if(empty($cr['listdt'])||$cr['islist']==3)
      {
                printerror("ErrorUrl","history.go(-1)",1);
      }
    */
      if($cr==2)
      {
                $classtemp=GetClassText($classid);
                $dttempname='classpage'.$classid;
      }
      else
      {
                if(empty($cr['classtempid']))
                {
                        printerror('ErrorUrl','',1);
                }
                $classtemp=GetClassTemp($cr['classtempid']);
                $dttempname='classtemp'.$cr['classtempid'];
      }
      $string=DtNewsBq($dttempname,$classtemp,0);
      $string=str_replace('[!--newsnav--]',$url,$string);//位置导航
      $string=Class_ReplaceSvars($string,$url,$classid,$pagetitle,$pagekey,$pagedes,$classimg,$addr,0);
      $string=str_replace('[!--page.stats--]','',$string);
      echo stripSlashes($string);
      exit();
}
//---列表式---
$add='';
//栏目
if($class_r[$classid])//终极栏目
{
      $add.="classid='$classid'";
      $have_class=0;
}
else
{
      $add.=ReturnClass($class_r[$classid]);
      $have_class=1;
}
//排序
if(empty($class_r[$classid]))
{
      $addorder="newstime desc";
}
else
{
      $addorder=$class_r[$classid];
}
//列表模板
$tempid=$class_r[$classid]['dtlisttempid']?$class_r[$classid]['dtlisttempid']:$class_r[$classid]['listtempid'];
if(empty($tempid))
{
      printerror('ErrorUrl','',1);
}
$tempr=$empire->fetch1("select tempid,temptext,subnews,listvar,rownum,showdate,modid,subtitle,docode from ".GetTemptb("enewslisttemp")." where tempid='$tempid'");
if(empty($tempr))
{
      printerror('ErrorUrl','',1);
}
$page=(int)substr($_GET['page'],6);//page是带index-所以去掉----yonglan
$page=RepPIntvar($page)?RepPIntvar($page):1;
$start=0;
$line=$class_r[$classid]['lencord'];//每页显示记录数
$page_line=10;//每页显示链接数
$offset=$page*$line-$line;//总偏移量
//系统模型
$ret_r=ReturnReplaceListF($mid);
//优化
$yhadd='';
$yhid=$class_r[$classid];
$yhvar='qlist';
if($yhid)
{
      $yhadd=ReturnYhSql($yhid,$yhvar,1);
}
//总数
$totalnum=(int)$_GET['totalnum'];
if($totalnum<1)
{
      if($yhadd)
      {
                $totalquery="select count(*) as total from {$dbtbpre}ecms_".$tbname." where ".$yhadd.$add;
                $num=$empire->gettotal($totalquery);
      }
      else
      {
                $num=ReturnClassInfoNum($cr,0);
      }
}
else
{
      $num=$totalnum;
}
$search.='&totalnum='.$num;
$query="select ".ReturnSqlListF($mid)." from {$dbtbpre}ecms_".$tbname." where ".$yhadd.$add;
$query.=" order by ".ReturnSetTopSql('list').$addorder." limit $offset,$line";
$sql=$empire->query($query);
//伪静态
$pagefunr=eReturnRewriteClassUrl($classid,0);
$pagefunr['repagenum']=$cr['repagenum'];
$pagefunr['dolink']=empty($class_r[$classid]['classurl'])?$public_r['newsurl'].$class_r[$classid]['classpath'].'/':$class_r[$classid]['classurl'].'/';
$pagefunr['dofile']='index';
$pagefunr['dotype']=$class_r[$classid]['classtype'];
//分页
/*不用默认分页了---yonglan
if($pagefunr['rewrite']==1||$pagefunr['repagenum'])
{
      $listpage=InfoUsePage($num,$line,$page_line,$start,$page,$search,$pagefunr);
}
else
{
      $listpage=page1($num,$line,$page_line,$start,$page,$search);
}
*/
$listpage=yl_pagelist($num,$line,$page_line,$start,$page);//自己加的分页---yonglan
function yl_pagelist($num,$line,$page_line,$start,$page){//自己加的分页函数---yonglan
    global $fun_r;
      if($num<=$line)
      {
                return '';
      }
      $f='_';//伪静态分页分割符号
      $url=preg_replace('/_+/', '', $_SERVER['HTTP_X_REWRITE_URL']?$_SERVER['HTTP_X_REWRITE_URL']:$_SERVER['REQUEST_URI']);
         if(!strripos($url,'.')){
            $url=$url.'index.html';
         }
      $urlarr=explode('.', $url);
      $snum=3;//最小页数
      $totalpage=ceil($num/$line);//取得总页数
      $firststr='<a title="'.$fun_r['trecord'].'">&nbsp;<b>'.$num.'</b> </a>&nbsp;&nbsp;';
      //上一页
      if($page<>0)
      {
                $toppage='<a href="'.substr($urlarr,0,-5).'">'.$fun_r['startpage'].'</a>&nbsp;';
                $pagepr=$page-1;
                                        if($pagepr==1){
                                          $prepage='<a href="'.substr($urlarr,0,-5).'">'.$fun_r['pripage'].'</a>&nbsp;';
                                        }else{
                                          $prepage='<a href="'.$urlarr.$f.$pagepr.'.'.$urlarr.'">'.$fun_r['pripage'].'</a>';
                                        }
               
      }
      //下一页
      if($page!=$totalpage)
      {
                $pagenex=$page+1;
                $nextpage='&nbsp;<a href="'.$urlarr.$f.$pagenex.'.'.$urlarr.'">'.$fun_r['nextpage'].'</a>';
                $lastpage='&nbsp;<a href="'.$urlarr.$f.$totalpage.'.'.$urlarr.'">'.$fun_r['lastpage'].'</a>';
      }
      $starti=$page-$snum<0?0:$page-$snum;
                     $no=0;
      for($i=$starti+1;$i<$totalpage+1&&$no<$page_line;$i++)
      {
                      $no++;
                                          if($page==$i)
                                                {
                                                      $is_1="<b>";
                                                      $is_2="</b>";
                                                }
                                                else
                                                {
                                                    if($i==1){//第一页不加page0
                                          $is_1='<a href="'.substr($urlarr,0,-5).'">';
                                          $is_2="</a>";
                                        }else{
                                             $is_1='<a href="'.$urlarr.$f.$i.'.'.$urlarr.'">';
                                                      $is_2="</a>";
                                        }
                                                   
                                                }
   
               
                $pagenum=$i;
                $returnstr.="&nbsp;".$is_1.$pagenum.$is_2;
      }
      $returnstr=$firststr.$toppage.$prepage.$returnstr.$nextpage.$lastpage;
      return $returnstr;
}//自己写的分页函数结束-----yonglannet
//页面支持标签
if($public_r['dtcanbq'])
{
      $tempr=DtNewsBq('list'.$tempid,$tempr,0);
}
else
{
      if($public_r['searchtempvar'])
      {
                $tempr=ReplaceTempvar($tempr);
      }
}
$listtemp=$tempr;
$rownum=$tempr;
if(empty($rownum))
{$rownum=1;}
$formatdate=$tempr;
$subnews=$tempr;
$subtitle=$tempr;
$docode=$tempr;
$modid=$tempr;
$listvar=str_replace('[!--news.url--]',$public_r,$tempr);
//公共
$listtemp=str_replace('[!--newsnav--]',$url,$listtemp);//位置导航
$listtemp=Class_ReplaceSvars($listtemp,$url,$classid,$pagetitle,$pagekey,$pagedes,$classimg,$addr,0);
$listtemp=str_replace('[!--page.stats--]','',$listtemp);
$listtemp=str_replace('[!--show.page--]',$listpage,$listtemp);
$listtemp=str_replace('[!--show.listpage--]',$listpage,$listtemp);
$listtemp=str_replace('[!--list.pageno--]',$page+1,$listtemp);
//取得列表模板
$list_exp="[!--empirenews.listtemp--]";
$list_r=explode($list_exp,$listtemp);
$listtext=$list_r;
$no=$offset+1;
$changerow=1;
while($r=$empire->fetch($sql))
{
      //替换列表变量
      $repvar=ReplaceListVars($no,$listvar,$subnews,$subtitle,$formatdate,$url,$have_class,$r,$ret_r,$docode);
      $listtext=str_replace("<!--list.var".$changerow."-->",$repvar,$listtext);
      $changerow+=1;
      //超过行数
      if($changerow>$rownum)
      {
                $changerow=1;
                $string.=$listtext;
                $listtext=$list_r;
      }
      $no++;
}
//多余数据
if($changerow<=$rownum&&$listtext<>$list_r)
{
      $string.=$listtext;
}
$string=$list_r.$string.$list_r;
echo stripSlashes($string);
db_close();
$empire=null;
?>


内容show.php代码:
<?php
require('../class/connect.php');
require('../class/db_sql.php');
require('../class/functions.php');
require('../class/t_functions.php');
require LoadLang('pub/fun.php');
require('../data/dbcache/class.php');
require('../data/dbcache/MemberLevel.php');
$link=db_connect();
$empire=new mysqlquery();
$classid=RepPostStr($_GET['classid']);//修改过滤方式--yognlan
$id=RepPostStr($_GET['id']);//修改过滤方式--yognlan
//获取真实classid--yognlan
if(!is_numeric($classid)){
    foreach ($class_r as $val){
      foreach ($val as $val2){
            if($classid==$val['classpath']){
                $classid=$val['classid'];
                break;
            }
      }
    }
}
//获取真实信息id--yognlan
if(is_numeric($id) && !$class_r[$classid]['filename']){
    $where="classid='$classid' and id='$id'";
}else{
    $where="classid='$classid' and filename='$id'";
}
$page=(int)substr($_GET['page'],1);//page是带横线所以去掉----yonglan
$page=RepPIntvar($page)?RepPIntvar($page):1;
$mid=$class_r[$classid]['modid'];
$tbname=$class_r[$classid]['tbname'];
//验证IP
eCheckAccessDoIp('showinfo');
if(!$classid||!$id||!$mid||!$tbname||InfoIsInTable($tbname))
{
      printerror('此信息不存在','',1,0,1);
}
$r=$empire->fetch1("select * from {$dbtbpre}ecms_".$tbname." where $where limit 1");
if(!$r['id']||$classid!=$r['classid'])
{
      printerror('此信息不存在','',1,0,1);
}
$id=$r['id'];//ID重新赋值--yognlan
//外部链接
if($r['isurl'])
{
      $titleurl=$r['titleurl'];
      Header("Location:$titleurl");
      exit();
}
//是否支持动态内容页
/*伪静态不需要--yonglannet
if($class_r[$classid]['showdt']!=2)
{
      $titleurl=sys_ReturnBqTitleLink($r);
      Header("Location:$titleurl");
      exit();
}
*/
//副表
$finfor=$empire->fetch1("select ".ReturnSqlFtextF($mid)." from {$dbtbpre}ecms_".$tbname."_data_".$r['stb']." where id='$r' limit 1");
$r=array_merge($r,$finfor);
//权限
if($r['groupid']||$class_r[$classid]['cgtoinfo'])
{
      define('empirecms','wm_chief');
      define('PageCheckLevel','wm_chief');
      $check_tbname=$tbname;
      $check_infoid=$id;
      $check_classid=$classid;
      $check_path="../../";
      $checkinfor=$r;
      @include("../class/CheckLevel.php");
}
//存文本
if($emod_r[$mid]['savetxtf'])
{
      $stf=$emod_r[$mid]['savetxtf'];
      if($r[$stf])
      {
                $r[$stf]=GetTxtFieldText($r[$stf]);
      }
}
//初始值
$search="&classid=$classid&id=$id";
$line=1;
$start=0;
$page_line=6;//每页显示链接数
$offset=$page*$line-$line;//总偏移量
$GLOBALS['navclassid']=$r;
$GLOBALS['navinfor']=$r;
//取得内容模板
$r=$r?$r:$class_r[$r];
$newstemp_r=$empire->fetch1("select tempid,temptext,showdate from ".GetTemptb("enewsnewstemp")." where tempid='$r'");

//替换模板变量
function DtGetHtml($add,$newstemp_r,$mid,$tbname,$line,$page_line,$start,$page,$search){
      global $public_r,$class_r,$class_zr,$class_tr,$fun_r,$empire,$dbtbpre,$emod_r,$level_r;
      //更新点击
      $empire->query("update {$dbtbpre}ecms_".$tbname." set onclick=onclick+1 where id='$add' limit 1");
      $add['onclick']=$add['onclick']+1;
      //模板参数
      $newstemptext=$newstemp_r;
      $formatdate=$newstemp_r;
      //页面
      $pagetitle=ehtmlspecialchars($add);
      $url=ReturnClassLink($add);//导航
      $newstemptext=DtInfo_ReplaceSvars($newstemptext,$url,$add,$pagetitle,$add,$pagetitle);
      //相关信息
      if(strstr($newstemptext,'[!--other.link--]'))
      {
            $keyboardtext=GetKeyboard($add,$add,$add,$add,$class_r[$add]);
      }
      //分页字段
      $ptitle=$add['title'];
      $truepage='';
      $titleselect='';
      $expage='[!--empirenews.page--]';//分页符
      $pf=$emod_r[$mid]['pagef'];
      if($pf&&strstr($add[$pf],$expage))//有分页
      {
                $n_r=explode($expage,$add[$pf]);
                $thispagenum=count($n_r);
                if($page<0||$page>$thispagenum)
                {
                        $page=1;
                }
                $add[$pf]=$n_r[$page-1];
                if($page)
                {
                        $ti_r=explode('[/!--empirenews.page--]',$n_r[$page]);
                        if(count($ti_r)>=2)
                        {
                              $ptitle=$ti_r;
                              $add[$pf]=$ti_r;
                        }
                        else
                        {
                              $ptitle=$add['title'].'('.($page-1).')';
                        }
                }
                //伪静态
                $pagefunr=eReturnRewriteInfoUrl($add['classid'],$add['id'],0);
                $pagefunr['repagenum']=0;
                //取得分页
                //屏蔽---yonglan $truepage=InfoUsePage($thispagenum,$line,$page_line,$start,$page,$search,$pagefunr);
                //自己写的伪静态分页---yonglan
   //前台分页
function yl_showpage($num,$line,$page_line,$start,$page){
      global $fun_r;
      if($num<=$line)
      {
                return '';
      }
      $f='_';//伪静态分页分割符号
      $url=preg_replace('/_+/', '', $_SERVER['HTTP_X_REWRITE_URL']?$_SERVER['HTTP_X_REWRITE_URL']:$_SERVER['REQUEST_URI']);
      $urlarr=explode('.', $url);
      $snum=3;//最小页数
      $totalpage=ceil($num/$line);//取得总页数
      $firststr='<a title="'.$fun_r['trecord'].'">&nbsp;<b>'.$num.'</b> </a>&nbsp;&nbsp;';
      //上一页
      if($page>1)
      {
                $toppage='<a href="'.$url.'">'.$fun_r['startpage'].'</a>&nbsp;';
                $pagepr=$page-1;
                                        if($pagepr==1){
                                          $prepage='<a href="'.$url.'">'.$fun_r['pripage'].'</a>&nbsp;';
                                        }else{
                                          $prepage='<a href="'.$urlarr.$f.$pagepr.'.'.$urlarr.'">'.$fun_r['pripage'].'</a>';
                                        }
               
      }
      //下一页

      if($page!=$totalpage)
      {
                $pagenex=$page+1;
                $nextpage='&nbsp;<a href="'.$urlarr.$f.$pagenex.'.'.$urlarr.'">'.$fun_r['nextpage'].'</a>';
                $lastpage='&nbsp;<a href="'.$urlarr.$f.($totalpage).'.'.$urlarr.'">'.$fun_r['lastpage'].'</a>';
      }
      $starti=$page-$snum<0?0:$page-$snum;
      $no=0;
      for($i=$starti+1;$i<$totalpage+1&&$no<$page_line;$i++)
      {
                $no++;
                                          if($page==$i)
                                                {
                                                      $is_1="<b>";
                                                      $is_2="</b>";
                                                }
                                                else
                                                {
                                                    if($i==1){//第一页不加page0
                                          $is_1='<a href="'.$url.'">';
                                          $is_2="</a>";
                                        }else{
                                             $is_1='<a href="'.$urlarr.$f.$i.'.'.$urlarr.'">';
                                                      $is_2="</a>";
                                        }
                                                   
                                                }
   
               
                $pagenum=$i;
                $returnstr.="&nbsp;".$is_1.$pagenum.$is_2;
      }
      $returnstr=$firststr.$toppage.$prepage.$returnstr.$nextpage.$lastpage;
      return $returnstr;
}
   $truepage=yl_showpage($thispagenum,$line,$page_line,$start,$page);//伪静态分页            
//自己写的伪静态分页结束----yonglan
                //下拉式分页
                if(strstr($newstemptext,'[!--title.select--]'))
                {
                        for($j=0;$j<$thispagenum;$j++)
                        {
                              $spurl=eReturnRewritePageLink($pagefunr,$j);
                              if($j==0)
                              {
                                        $sptitle=$add;
                              }
                              else
                              {
                                        $ti_r=explode('[/!--empirenews.page--]',$n_r[$j]);
                                        $sptitle=count($ti_r)>=2?$ti_r:$add.'('.($j+1).')';
                              }
                              $select='';
                              if($page==$j)
                              {
                                        $ptitle=$sptitle;
                                        $select=' selected';
                              }
                              $titleselect.='<option value="'.$spurl.'"'.$select.'>'.$sptitle.'</option>';
                        }
                        $titleselect='<select name="titleselect" onchange="self.location.href=this.options.value">'.$titleselect.'</select>';
                }
                //下一页链接
                if($page==$thispagenum-1)
                {
                        $thisnextlink=eReturnRewritePageLink($pagefunr,0);
                }
                else
                {
                        $thisnextlink=eReturnRewritePageLink($pagefunr,$page+1);
                }
      }
      //返回替换验证字符
      $docheckrep=ReturnCheckDoRepStr();
      if($add)
      {
                if(empty($public_r['dorepword'])&&$docheckrep)
                {
                        $add=ReplaceWord($add);//过滤字符
                }
                if(empty($public_r['dorepkey'])&&$docheckrep&&!empty($add))//替换关键字
                {
                        $add=ReplaceKey($add['newstext'],$add['classid']);
                }
                if($public_r['opencopytext'])
                {
                        $add=AddNotCopyRndStr($add);//随机复制字符
                }
      }
      //变量
      $tempf=$emod_r[$mid]['tempf'];
      $fr=explode(',',$tempf);
      $fcount=count($fr)-1;
      //变量替换
      $newstempstr=$newstemptext;//模板
      for($i=1;$i<$fcount;$i++)
      {
                $f=$fr[$i];
                $value=$add[$f];
                if($f=='downpath')//下载地址
                {
                        if(strstr($newstemptext,'[!--downpath--]'))
                        {
                              $value=ReturnDownSoftHtml($add);
                        }
                }
                elseif($f=='onlinepath')//观看地址
                {
                        if(strstr($newstemptext,'[!--onlinepath--]'))
                        {
                              $value=ReturnOnlinepathHtml($add);
                        }
                }
                elseif($f=='morepic')//图片集
                {
                        if(strstr($newstemptext,'[!--morepic--]'))
                        {
                              $value=ReturnMorepicpathHtml($add);
                        }
                }
                elseif($f=='newstime')//时间
                {
                        if(strstr($newstemptext,'[!--newstime--]'))
                        {
                              $value=date($formatdate,$value);
                        }
                }
                elseif($f=='befrom')//信息来源
                {
                        if($docheckrep&&strstr($newstemptext,'[!--befrom--]'))
                        {
                              $value=ReplaceBefrom($value);
                        }
                }
                elseif($f=='writer')//作者
                {
                        if($docheckrep&&strstr($newstemptext,'[!--writer--]'))
                        {
                              $value=ReplaceWriter($value);
                        }
                }
                elseif($f=='titlepic')//标题图片
                {
                        if(empty($value))
                        {$value=$public_r.'e/data/images/notimg.gif';}
                }
                elseif($f=='title')//标题
                {
                }
                else//正常字段
                {
                        if(!strstr($emod_r[$mid]['editorf'],','.$f.','))
                        {
                              if(strstr($emod_r[$mid]['tobrf'],','.$f.','))//加br
                              {
                                        $value=nl2br($value);
                              }
                              if(!strstr($emod_r[$mid]['dohtmlf'],','.$f.','))//去除html
                              {
                                        $value=RepFieldtextNbsp(ehtmlspecialchars($value));
                              }
                        }
                }
                $newstempstr=str_replace('[!--'.$f.'--]',$value,$newstempstr);
      }
      //固定变量
      $newstempstr=str_replace('[!--id--]',$add,$newstempstr);
      $newstempstr=str_replace('[!--classid--]',$add,$newstempstr);
      $newstempstr=str_replace('[!--class.name--]',$class_r[$add],$newstempstr);
      $newstempstr=str_replace('[!--ttid--]',$add,$newstempstr);
      $newstempstr=str_replace('[!--tt.name--]',$class_tr[$add],$newstempstr);
      $newstempstr=str_replace('[!--onclick--]',$add,$newstempstr);
      $newstempstr=str_replace('[!--userfen--]',$add,$newstempstr);
      $newstempstr=str_replace('[!--username--]',$add,$newstempstr);
      //带链接的用户名
      if($add==1&&$add)
      {
                $newstempstr=str_replace('[!--linkusername--]',"<a href='".$public_r."e/space/?userid=".$add."' target=_blank>".$add."</a>",$newstempstr);
      }
      else
      {
                $newstempstr=str_replace('[!--linkusername--]',$add,$newstempstr);
      }
      $newstempstr=str_replace('[!--userid--]',$add,$newstempstr);
      $newstempstr=str_replace('[!--other.link--]',$keyboardtext,$newstempstr);
      $newstempstr=str_replace('[!--news.url--]',$public_r,$newstempstr);
      $newstempstr=str_replace('[!--plnum--]',$add,$newstempstr);
      $newstempstr=str_replace('[!--totaldown--]',$add,$newstempstr);
      $newstempstr=str_replace('[!--keyboard--]',$add,$newstempstr);
      //链接
      $titleurl=sys_ReturnBqTitleLink($add);
      $newstempstr=str_replace('[!--titleurl--]',$titleurl,$newstempstr);
      $newstempstr=str_replace('[!--page.stats--]','',$newstempstr);
      $classurl=sys_ReturnBqClassname($add,9);
      $newstempstr=str_replace('[!--class.url--]',$classurl,$newstempstr);
      //下一篇
      if(strstr($newstemptext,'[!--info.next--]'))
      {
                $next_r=$empire->fetch1("select isurl,titleurl,classid,id,title from {$dbtbpre}ecms_".$class_r[$add]." where id>$add and classid='$add' order by id limit 1");
                if(empty($next_r))
                {
                        $infonext="<a href='".$classurl."'>".$fun_r['HaveNoNextLink']."</a>";
                }
                else
                {
                        //链接
                        $nexttitleurl=sys_ReturnBqTitleLink($next_r);
                        $infonext="<a href='".$nexttitleurl."'>".$next_r."</a>";
                }
                $newstempstr=str_replace('[!--info.next--]',$infonext,$newstempstr);
      }
      //上一篇
      if(strstr($newstemptext,'[!--info.pre--]'))
      {
                $next_r=$empire->fetch1("select isurl,titleurl,classid,id,title from {$dbtbpre}ecms_".$class_r[$add]." where id<$add and classid='$add' order by id desc limit 1");
                if(empty($next_r))
                {
                        $infonext="<a href='".$classurl."'>".$fun_r['HaveNoNextLink']."</a>";
                }
                else
                {
                        //链接
                        $nexttitleurl=sys_ReturnBqTitleLink($next_r);
                        $infonext="<a href='".$nexttitleurl."'>".$next_r."</a>";
                }
                $newstempstr=str_replace('[!--info.pre--]',$infonext,$newstempstr);
      }
      //投票
      if(strstr($newstemptext,'[!--info.vote--]'))
      {
                $myvotetext=sys_GetInfoVote($add,$add);
                $newstempstr=str_replace('[!--info.vote--]',$myvotetext,$newstempstr);
      }
      //评分
      if(strstr($newstemptext,'[!--pinfopfen--]'))
      {
                $pinfopfen=$add?round($add/$add):0;
                $newstempstr=str_replace('[!--pinfopfen--]',$pinfopfen,$newstempstr);
                $newstempstr=str_replace('[!--infopfennum--]',$add,$newstempstr);
      }
      $string=$newstempstr;
      //替换变量
      $string=str_replace('[!--p.title--]',strip_tags($ptitle),$string);
      $string=str_replace('[!--next.page--]',$thisnextlink,$string);
      $string=str_replace('[!--page.url--]',$truepage,$string);
      $string=str_replace('[!--title.select--]',$titleselect,$string);
      return $string;
}

if(empty($newstemp_r['tempid']))
{
      printerror('ErrorUrl','',1);
}
//页面支持标签
if($public_r['dtncanbq'])
{
      $newstemp_r=DtNewsBq('text'.$newstemp_r,$newstemp_r,1);
}
else
{
      if($public_r['searchtempvar'])
      {
                $newstemp_r=ReplaceTempvar($newstemp_r);
      }
}
$string=DtGetHtml($r,$newstemp_r,$mid,$tbname,$line,$page_line,$start,$page,$search);
echo stripSlashes($string);
db_close();
$empire=null;
?>

2015/02/03 修复IIS下分页错误代码:
下载附件覆盖即可。
手动修改方法:找到分页处list.php 139行左右 show.php158行左右,$url修改为:$url=preg_replace('/_+/', '', $_SERVER['HTTP_X_REWRITE_URL']?$_SERVER['HTTP_X_REWRITE_URL']:$_SERVER['REQUEST_URI']);即可
附件下载:

小黑 发表于 2018-4-19 08:24:49

内容页伪静态有用吗?还是只能伪静态栏目页?

admin 发表于 2018-4-19 09:07:53

小黑 发表于 2018-4-19 08:24
内容页伪静态有用吗?还是只能伪静态栏目页?

就是包括内容页的 栏目和内容

aaazzx 发表于 2018-12-21 22:35:26

请问 Nginx 的伪静态规则怎么写?

海海__3km 发表于 2019-5-29 12:37:55

手动点赞!:lol

ew52000 发表于 2019-8-24 15:04:41

老大,有没有法子只显示 栏目设置 的数据,比如只栏目分页显示10页

admin 发表于 2019-8-25 09:25:09

ew52000 发表于 2019-8-24 15:04
老大,有没有法子只显示 栏目设置 的数据,比如只栏目分页显示10页

分页里面自己稍微改一下 即可 分页数那个地方
页: [1]
查看完整版本: 帝国CMS自定义伪静态插件{SEO栏目优化利器}[支持7.0,7.2]