首先我們給虛擬主機加上偽靜態規則,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
代碼:
[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的程序,打開include\channelunit.func.php
查找
代碼:
$reurl = $GLOBALS['cfg_phpurl']."/list.php?tid=".$typeid;
替換為
代碼:
$reurl = $GLOBALS['cfg_phpurl']."/list-".$typeid.".html";
以上修改適用于dedecms 5.5版,其他版本可能稍微有些區別。