帝國CMS tagid偽靜態(tài)方法有很多種方式,在網(wǎng)上大多數(shù)都通過修改程序文件,二次開發(fā)實現(xiàn)。這里颶風哥給大家分享一種簡單的實現(xiàn)方法,相信小白也能操作修改。
以本站為例,比如一個tags名稱是“網(wǎng)頁模板”的標簽,id為23。通過tagsid偽靜態(tài)的設(shè)置后,展現(xiàn)方式為:https://www.14755.cn/tags/5.html 的展現(xiàn)形式。
具體操作步驟:
帝國cms后臺操作,修改:系統(tǒng) - 系統(tǒng)設(shè)置 - 偽靜態(tài)參數(shù)設(shè)置。將”TAGS信息列表頁“修改為tag/[!--tagname--].html,這里我去掉了tags列表頁的分頁,當然也可以添加分布。
這里以Nginx規(guī)則為例,其它Apache或IIS規(guī)則請自行研究。修改規(guī)則:rewrite ^([^\.]*)/tag/(.+?)\.html$ $1/e/tags/?tagid=$2 last;//注:這里是將動態(tài)的tagid調(diào)用標題偽靜態(tài),原規(guī)則一般都是通過tagsname進行偽靜態(tài),一定需要注意。
帝國CMS的自定義函數(shù)在目錄/e/class/下,文件名為userfun.php。代碼就不復(fù)制出來,直接提供下載上傳即可。
userfun文件下載:
到上一步驟其實即已完成了帝國CMS tagid的偽靜態(tài)功能,這里為了方便自己管理,我們將后臺的tags管理列表中,通過tags id和tags 名稱點擊后的鏈接,修改成我們剛做好的偽靜態(tài)地址鏈接。
修改網(wǎng)站文件:/e/admin/tags/listTags.php文件,大概在534行,或是搜索”$rewriterid=eReturnRewriteTagsUrl($r['tagid'],'etagsid'.$r['tagid'],1);“找到代碼,去掉etagsid。如果需要tags名稱鏈接也改成正確的tagsid偽靜態(tài)地址,將代碼中的改為即可。
到此,已完整將帝國tags id 偽靜態(tài)完成。
帝國CMS默認的tag偽靜態(tài)方法是tagname也就是文字方式的,那么怎么實現(xiàn)以tagid數(shù)字的形式來實現(xiàn)tag的偽靜態(tài)呢?
第一步:修改系統(tǒng)文件 e\class\connect.php文件(改前先備份好)
搜索“function eReturnRewriteTagsUrl($tagid,$tagname,$ecms=0){”
找到函數(shù) eReturnRewriteTagsUrl,將此函數(shù)刪除或注釋掉,換成下面的代碼:
第一步:修改系統(tǒng)文件 e\class\connect.php文件(改前先備份好)
搜索“function eReturnRewriteTagsUrl($tagid,$tagname,$ecms=0){”
找到函數(shù) eReturnRewriteTagsUrl,將此函數(shù)刪除或注釋掉,換成下面的代碼:
//返回TAGS列表偽靜態(tài) 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; }
第二步:修改TAG支持文件 e\tags\index.php文件
這里主要是修改分頁函數(shù)。找到如下所示代碼,按照以下代碼將原來的部分代碼注釋掉。
/* if($tagr['tagid']&&empty($add)&&$search=='&tagname='.$tagname.'&line='.$public_r['tagslistnum'].'&tempid='.$public_r['tagstempid']) { */ //偽靜態(tài) $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);//分頁 } */
第三步:后臺設(shè)置tag偽靜態(tài)
按照默認,設(shè)置成:tags-[!--tagname--]-[!--page--].html 即可。
第四步:服務(wù)器偽靜態(tài)規(guī)則
apache的偽靜態(tài)規(guī)則如下,其它類型服務(wù)器請對照此自行修改:
RewriteRule ^tags-(.*)-(.*)$ e/tags/index.php?tagid=$1&page=$2 Nginx的偽靜態(tài)規(guī)則: rewrite ^/tags-(.*)-(.*)$ /e/tags/index.php?tagid=$1&page=$2;