在dedecms后臺可以開啟偽靜態功能,但僅有文章頁會被偽靜態,欄目頁的鏈接依然是動態的。
本節介紹下如何開啟欄目頁偽靜態的方法。
首先,需要給虛擬主機添加上偽靜態規則,然后再去dedecms的相關文件中改掉相應的函數。
首先,給虛擬主機加上偽靜態規則,Apache和IIS的詳細設置如下。
Apache的服務器,就在.htaccess中添加:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule index.html /index.php
RewriteRule plus/list-([0-9]+).html$ /plus/list.php?tid=$1
RewriteRule plus/view-([0-9]+)-([0-9]+).html$ /plus/view.php?arcID=$1&pageno=$3
RewriteRule plus/list-([0-9]+)-([0-9]+)-([0-9]+).html$ /plus/list.php?tid=$1&totalresult=$2&PageNo=$3
</IfModule>
IIS的服務器,在httpd.ini中添加如下內容,需要服務器安裝過ISAPI Rewrite:(www.genban.org 網站建設)
[ISAPI_Rewrite]
# 緩存3600秒 = 1 小時(hour)
CacheClockRate 3600
RepeatLimit 32
RewriteRule ^(.*)/index.html $1/index.php
RewriteRule ^(.*)/plus/list-([0-9]+).html $1/plus/list.php?tid=$2
RewriteRule ^(.*)/plus/list-([0-9]+)-([0-9]+)-([0-9]+).html $1/plus/list.php?tid=$2&TotalResult=$3&PageNo=$4
RewriteRule ^(.*)/plus/view-([0-9]+)-([0-9]+).html $1/plus/view.php?arcID=$2&pageno=$3
然后,修改dedecms的程序,打開includechannelunit.func.php。
將以下代碼:
$reurl = $GLOBALS['cfg_phpurl']."/list.php?tid=".$typeid;
替換為:
$reurl = $GLOBALS['cfg_phpurl']."/list-".$typeid.".html";