DedeCMS偽靜態好處就不多說了,但是絕大多數的處理方式都是列表用/list-1/ 或/list-1.html,內容頁用/view-1.html。這些字母加ID數字可讀性差,能不能像靜態頁面一樣采用英文或拼音URL呢。下面武林網分享修改個性偽靜態的方法。
打開/include/helpers/channelunit.helper.php,找到
//動態文章if($cfg_rewrite == 'Y'){return $GLOBALS["cfg_plus_dir"]."/view-".$aid.'-1.html';} |
替換為
//動態文章if($cfg_rewrite == 'Y'){return $typedir."/view-".$aid.'.html';} |
如果欄目名為 about,則該欄目下的文章URL是 /about/view-1.html。 繼續往下找到
//動態$reurl = $GLOBALS['cfg_phpurl']."/list.php?tid=".$typeid; |
替換為
//動態$reurl = $typedir."/"; |
意思是:將默認的頻道或是列表頁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); |
將默認的 /plus/list.php?tid=1 替換成 /list-1 的模式。然后找到
$plist = preg_replace("/&PageNo=(/d+)/i",'-//1.html',$plist); |
在下面加一句
$plist = str_replace('/','',$plist); |
這句是過濾掉“/”符號。
意思是:將默認的列表分頁鏈接格式plus/list.php?tid=x$x$xl修改為/list-x-x-x.html,然后去掉最前面的/符號,讓鏈接成為相對鏈接,這樣就能在列表分頁實現下面的地址形式。
/about/list-6-31-2.html 6:代表欄目ID31:代表總文章數2:代表頁數
但這個并不是最佳的,因為文章總數是會變化的,最佳的URL如下
/about/list-6-2.html
RewriteEngine OnRewriteCond %{http_host} ^www.vi586.com [NC]RewriteRule ^(.*)$ http://www.vi586.com/$1 [L,R=301]#偽靜態列表頁(通用規則放前面,個性規則放后面)RewriteRule ^list-([0-9]+)/.html$ /plus/list.php?tid=$1RewriteRule ^list-([0-9]+)-([0-9]+)/.html$ /plus/list.php?tid=$1&totalresult=*&PageNo=$3RewriteRule ^view-([0-9]+)-1/.html$ /plus/view.php?arcID=$1RewriteRule ^view-([0-9]+)-([0-9]+)/.html$ /plus/view.php?aid=$1&pageno=$2#以下為個性規則,一個欄目分別寫一條,以此類推RewriteRule ^about/$ /plus/list.php?tid=6RewriteRule ^case/$ /plus/list.php?tid=5#偽靜態列表頁分頁RewriteRule ^about/list-6-([0-9]+)/.html$ /plus/list.php?tid=6&totalresult=*&PageNo=$2RewriteRule ^case/list-5-([0-9]+)/.html$ /plus/list.php?tid=6&totalresult=*&PageNo=$2#偽靜態信息瀏覽RewriteRule ^about/([0-9]+)/.html$ /plus/view.php?aid=$1RewriteRule ^about/view-([0-9]+)-([0-9]+)/.html$ /plus/view.php?aid=$1&pageno=$2RewriteRule ^case/([0-9]+)/.html$ /plus/view.php?aid=$1RewriteRule ^case/view-([0-9]+)-([0-9]+)/.html$ /plus/view.php?aid=$1&pageno=$2 |
新聞熱點
疑難解答