DedeCMS偽靜態(tài)好處就不多說了,但是絕大多數(shù)的處理方式都是列表用/list-1/ 或/list-1.html,內(nèi)容頁用/view-1.html。這些字母加ID數(shù)字可讀性差,能不能像靜態(tài)頁面一樣采用英文或拼音URL呢。下面秀站網(wǎng)分享修改個(gè)性偽靜態(tài)的方法。
欄目URL偽靜態(tài)修改
打開/include/helpers/channelunit.helper.php,找到
//動(dòng)態(tài)文章 if($cfg_rewrite == 'Y') { return $GLOBALS["cfg_plus_dir"]."/view-".$aid.'-1.html'; }
替換為
//動(dòng)態(tài)文章 if($cfg_rewrite == 'Y') { return $typedir."/view-".$aid.'.html'; }
如果欄目名為 about,則該欄目下的文章URL是 /about/view-1.html。 繼續(xù)往下找到
//動(dòng)態(tài) $reurl = $GLOBALS['cfg_phpurl']."/list.php?tid=".$typeid;
替換為
//動(dòng)態(tài) $reurl = $typedir."/";
意思是:將默認(rèn)的頻道或是列表頁URL如: /plus/list.php?tid=1變更為如:/about/
欄目列表分頁修改
打開/include/arc.listview.class.php,找到
$plist = str_replace('.php?tid=', '-', $plist);
替換為
$plist = str_replace('plus/list.php?tid=','list-', $plist);
將默認(rèn)的 /plus/list.php?tid=1 替換成 /list-1 的模式。然后找到
$plist = preg_replace("/&PageNo=(\d+)/i",'-\\1.html',$plist);
在下面加一句
$plist = str_replace('/','',$plist);
這句是過濾掉“/”符號(hào)。
意思是:將默認(rèn)的列表分頁鏈接格式plus/list.php?tid=x$x$xl修改為/list-x-x-x.html,然后去掉最前面的/符號(hào),讓鏈接成為相對(duì)鏈接,這樣就能在列表分頁實(shí)現(xiàn)下面的地址形式。
/about/list-6-31-2.html 6:代表欄目ID 31:代表總文章數(shù) 2:代表頁數(shù)
但這個(gè)并不是最佳的,因?yàn)槲恼驴倲?shù)是會(huì)變化的,最佳的URL如下
/about/list-6-2.html
偽靜態(tài)規(guī)則參考
RewriteEngine On RewriteCond %{http_host} ^www.vi586.com [NC] RewriteRule ^(.*)$ http://www.vi586.com/$1 [L,R=301] #偽靜態(tài)列表頁(通用規(guī)則放前面,個(gè)性規(guī)則放后面) RewriteRule ^list-([0-9]+)\.html$ /plus/list.php?tid=$1 RewriteRule ^list-([0-9]+)-([0-9]+)\.html$ /plus/list.php?tid=$1&totalresult=*&PageNo=$3 RewriteRule ^view-([0-9]+)-1\.html$ /plus/view.php?arcID=$1 RewriteRule ^view-([0-9]+)-([0-9]+)\.html$ /plus/view.php?aid=$1&pageno=$2 #以下為個(gè)性規(guī)則,一個(gè)欄目分別寫一條,以此類推 RewriteRule ^about/$ /plus/list.php?tid=6 RewriteRule ^case/$ /plus/list.php?tid=5 #偽靜態(tài)列表頁分頁 RewriteRule ^about/list-6-([0-9]+)\.html$ /plus/list.php?tid=6&totalresult=*&PageNo=$2 RewriteRule ^case/list-5-([0-9]+)\.html$ /plus/list.php?tid=6&totalresult=*&PageNo=$2 #偽靜態(tài)信息瀏覽 RewriteRule ^about/([0-9]+)\.html$ /plus/view.php?aid=$1 RewriteRule ^about/view-([0-9]+)-([0-9]+)\.html$ /plus/view.php?aid=$1&pageno=$2 RewriteRule ^case/([0-9]+)\.html$ /plus/view.php?aid=$1 RewriteRule ^case/view-([0-9]+)-([0-9]+)\.html$ /plus/view.php?aid=$1&pageno=$2