
帝国CMS简单修改实现TAGS以TAGID方式的伪静态,因为互联网有不少朋友在问,群里新手朋友也在提,既然看到不少人需求,那就就整理下吧。此方法可解决主机伪静态中文问题,至于SEO,仁者见仁智者见智,伪静态规则,伪静态形式全部可以按照帝国原有的后台来设置,本方法修改系统文件。
第一步
打开/e/class/connect.php
文件,找到
1 2
| //返回TAGS列表伪静态 function eReturnRewriteTagsUrl
|
此函数整个修改为:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| //返回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; }
|
第二步
打开/e/tags/index.php
文件,找到
1 2
| //TAGS $tagid=(int)$_GET['tagid'];
|
将其修改为
1 2
| //TAGS $tagid=(int)$_GET['tagname'];
|
第三步
修改分页代码,同文件中查找如下内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| if($tagr['tagid']&&empty($add)&&$search=='&tagname='.$tagname.'&line='.$public_r['tagslistnum'].'&tempid='.$public_r['tagstempid']) { //伪静态 $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);//分页 }
|
将其修改为
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| /* if($tagr['tagid']&&empty($add)&&$search=='&tagname='.$tagname.'&line='.$public_r['tagslistnum'].'&tempid='.$public_r['tagstempid']) { */ //伪静态 $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伪静态,按照默认,设置成:
1
| tags-[!--tagname--]-[!--page--].html
|
即可。
第五步:
服务器伪静态规则,Apache的伪静态规则如下:
1
| RewriteRule ^tags-(.*)-(.*)$ e/tags/index.php?tagid=$1&page=$2
|
当然了,其它类型服务器请自己在老博客网站里搜索伪静态规则,相信你一定会修改成功的。