.htaccess
文件中添加相應(yīng)的規(guī)則。,,對于Linux主機,可以使用Apache服務(wù)器,需要在.htaccess
文件中添加以下內(nèi)容:,,“,RewriteEngine on,RewriteCond %{REQUEST_FILENAME} !d,RewriteCond %{REQUEST_FILENAME} !f,RewriteRule ^(.*)$ /index.php?/$1 [L,QSA],
`,,對于Windows主機,可以使用IIS服務(wù)器,需要在
web.config文件中添加以下內(nèi)容:,,
`xml,,,,,,,,,,,,,,,,,
“
在Linux和Windows主機上實現(xiàn)DedeCMS偽靜態(tài)的方法雖然有一些不同,但總體思路是一致的,以下是詳細(xì)步驟和注意事項:
Linux主機實現(xiàn)DedeCMS偽靜態(tài)
1、確保服務(wù)器支持URL重寫:
確認(rèn)你的Apache服務(wù)器已經(jīng)啟用了mod_rewrite
模塊,可以通過執(zhí)行phpinfo()
查看是否有mod_rewrite
項。
2、開啟DedeCMS后臺的偽靜態(tài)功能:
登錄DedeCMS后臺,進(jìn)入“系統(tǒng)設(shè)置”“核心參數(shù)配置”,找到“是否使用偽靜態(tài)”選項,將其設(shè)置為“是”。
3、修改PHP文件:
打開/include/channelunit.func.php
文件,將以下代碼:
return $GLOBALS["cfg_plus_dir"]."/view".$aid.'1.html';
修改為:
return "/view".$aid.'1.html';
同樣,將以下代碼:
$reurl = $GLOBALS['cfg_phpurl']."/list.php?tid=".$typeid;
修改為:
$reurl = "/list".$typeid.".html";
4、添加.htaccess文件:
在網(wǎng)站根目錄下創(chuàng)建一個名為.htaccess
的文件,并添加以下內(nèi)容:
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !f RewriteCond %{REQUEST_FILENAME} !d RewriteRule ^(.*)/index.html$ /index.php [L] RewriteRule ^(.*)/plus/list([09]+).html$ /plus/list.php?tid=$1 [L] RewriteRule ^(.*)/plus/view([09]+)([09]+).html$ /plus/view.php?aid=$1&pageno=$2 [L] RewriteRule ^(.*)/plus/list([09]+)([09]+)([09]+).html$ /plus/list.php?tid=$1&totalresult=$2&PageNo=$3 [L]
Windows主機實現(xiàn)DedeCMS偽靜態(tài)
1、確保服務(wù)器支持URL重寫:
確認(rèn)你的IIS服務(wù)器已經(jīng)安裝了ISAPI_Rewrite模塊。
2、開啟DedeCMS后臺的偽靜態(tài)功能:
登錄DedeCMS后臺,進(jìn)入“系統(tǒng)設(shè)置”“核心參數(shù)配置”,找到“是否使用偽靜態(tài)”選項,將其設(shè)置為“是”。
3、修改PHP文件:
打開/include/channelunit.func.php
文件,將以下代碼:
return $GLOBALS["cfg_plus_dir"]."/view".$aid.'1.html';
修改為:
return "/view".$aid.'1.html';
同樣,將以下代碼:
$reurl = $GLOBALS['cfg_phpurl']."/list.php?tid=".$typeid;
修改為:
$reurl = "/list".$typeid.".html";
4、添加httpd.ini文件:
在網(wǎng)站根目錄下創(chuàng)建一個名為httpd.ini
的文件,并添加以下內(nèi)容:
[ISAPI_Rewrite] # 緩存3600秒 = 1 小時(hour) CacheClockRate 3600 RepeatLimit 32 RewriteRule ^(.*)/index.html $1/index.php RewriteRule ^(.*)/plus/list([09]+).html $1/plus/list.php?tid=$2 RewriteRule ^(.*)/plus/list([09]+)([09]+)([09]+).html $1/plus/list.php?tid=$2&TotalResult=$3&PageNo=$4 RewriteRule ^(.*)/plus/view([09]+)([09]+).html $1/plus/view.php?aid=$2&pageno=$3
相關(guān)FAQs
問題1:如何在不修改PHP文件的情況下實現(xiàn)DedeCMS偽靜態(tài)?
答:如果不希望修改PHP文件,可以在后臺設(shè)置中選擇動態(tài)瀏覽,并在欄目設(shè)置中使用動態(tài)頁,這樣,URL地址會稍長一些,但也能實現(xiàn)偽靜態(tài)效果,具體操作如下:
登錄DedeCMS后臺,進(jìn)入“系統(tǒng)設(shè)置”“核心參數(shù)配置”,找到“是否使用偽靜態(tài)”選項,將其設(shè)置為“否”。
在創(chuàng)建欄目或批量增加欄目時,欄目列表選項選擇“使用動態(tài)頁”。
在添加新文章時,發(fā)布選項選擇“僅動態(tài)瀏覽”。
問題2:如何確認(rèn)服務(wù)器是否支持URL重寫?
答:確認(rèn)服務(wù)器是否支持URL重寫的方法如下:
對于Apache服務(wù)器:可以通過執(zhí)行phpinfo()
函數(shù),查看是否有mod_rewrite
項,如果有,則表示支持URL重寫。
對于IIS服務(wù)器:需要確認(rèn)是否安裝了ISAPI_Rewrite模塊,如果沒有安裝,可以從網(wǎng)上下載并安裝該模塊。
RewriteEngine On
RewriteRule ^list_(d+).html$ list.php?id=$1 [L]
service httpd restart
或apachectl restart
重啟Apache服務(wù)。http://example.com/list_1.html
,應(yīng)自動跳轉(zhuǎn)到http://example.com/list.php?id=1
。iisreset
重啟IIS服務(wù)。http://example.com/list_1.html
,應(yīng)自動跳轉(zhuǎn)到http://example.com/list.php?id=1
。步驟可能因您的具體環(huán)境和DedeCMS版本而有所不同,在實施之前,請確保備份相關(guān)配置文件,以防萬一出現(xiàn)問題。