DedeCMS織夢欄目用目錄名個性化偽靜態[織夢網站模板使用教程]

閱讀 ?·? 發布日期 2019-05-27 07:50 ?·? admin

DedeCMS織夢欄目用目錄名個性化偽靜態[織夢網站模板使用教程]DedeCMS偽靜態好處就不多說了,但是絕大多數的處理方式都是列表用/list-1/ 或/list-1.html,內容頁用/view-1.html。這些字母加ID數字可讀性差,能不能像靜態頁面一樣采用英文或拼音URL呢。下面[織夢網站模板使用教程]分享修改個性偽靜態的方法。

欄目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:代表欄目ID
31:代表總文章數
2:代表頁數

       但這個并不是最佳的,因為文章總數是會變化的,最佳的URL如下

/about/list-6-2.html

偽靜態規則參考

RewriteEngine On
RewriteCond %{http_host} ^www.vi586.com [NC]
RewriteRule ^(.*)$ http://www.vi586.com/$1 [L,R=301]

#偽靜態列表頁(通用規則放前面,個性規則放后面)
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

#以下為個性規則,一個欄目分別寫一條,以此類推
RewriteRule ^about/$ /plus/list.php?tid=6
RewriteRule ^case/$ /plus/list.php?tid=5

#偽靜態列表頁分頁
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

#偽靜態信息瀏覽
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