
帝国CMS简单修改实现TAGS以TAGID方式的伪静态,因为互联网有不少朋友在问,群里新手朋友也在提,既然看到不少人需求,那就就整理下吧。此方法可解决主机伪静态中文问题,至于SEO,仁者见仁智者见智,伪静态规则,伪静态形式全部可以按照帝国原有的后台来设置,本方法修改系统文件。
第一步
打开/e/class/connect.php文件,找到
| 12
 
 | //返回TAGS列表伪静态function eReturnRewriteTagsUrl
 
 | 
此函数整个修改为:
| 12
 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文件,找到
| 12
 
 | //TAGS$tagid=(int)$_GET['tagid'];
 
 | 
将其修改为
| 12
 
 | //TAGS$tagid=(int)$_GET['tagname'];
 
 | 
第三步
修改分页代码,同文件中查找如下内容
| 12
 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);//分页
 }
 
 | 
将其修改为
| 12
 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
 | 
当然了,其它类型服务器请自己在老博客网站里搜索伪静态规则,相信你一定会修改成功的。