?這兩天研究Discuz 4.1,并成功地將原來一個(gè)Discuz 2.5的論壇升級到了最新版本,個(gè)人感覺這個(gè)論壇實(shí)在不錯(cuò)
我的Discuz 4.1是在Apache+Php+Mysql下運(yùn)行的,并開啟了Url Rewrite,之后我發(fā)現(xiàn)整個(gè)論壇的大部分頁面都可以使用html的靜態(tài)地址方式來訪問,感覺真不錯(cuò),Apache實(shí)在太強(qiáng)大了,難怪現(xiàn)在用Apache的站點(diǎn)那么多
IIS下能否也實(shí)現(xiàn)這種靜態(tài)化功能呢,我知道Helicon開發(fā)了一個(gè)叫ISAPI_Rewrite的ISAPI程序,可以在IIS下實(shí)現(xiàn)Url Rewrite功能,不過我自己還沒有嘗試過,過兩天按照下面的操作測試一下看看效果如何
另外,下文Discuz提供的ZIP文件里的Rewrite.dll實(shí)際上就是Helicon的ISAPI_Rewrite程序,我對Discuz做為軟件開發(fā)商居然也盜版同行的軟件感到遺憾
參考文章
Discuz!4.1.0 IIS Rewrite配置方法(轉(zhuǎn)自DISCUZ會(huì)員區(qū))Discuz! URL靜態(tài)化功能受到論壇所在服務(wù)器環(huán)境的制約,在開啟此功能之前,請根據(jù)你的Web服務(wù)器環(huán)境,選擇相應(yīng)的環(huán)境配置方法,以下提供的iis6下的服務(wù)器配置..其它服務(wù)器(如apache,zeus)你可以根據(jù)原理自行配置
1、下載IIS Rewrite模塊
http://download.discuz.net/4.1.0/discuz_iis_rewrite.zip;2、將壓縮包解壓到任意目錄,(如:C:\Rewrite)
然后打開“控制面板”-“管理工具”-“IIS信息服務(wù)管理器”-“網(wǎng)站”-“您的站點(diǎn)”-“屬性”
在“ISAPI篩選器”項(xiàng)點(diǎn)擊“添加”,篩選器名稱填入Rewrite,可執(zhí)行文件為C
\Rewrite\Rewrite.dll;3、重新啟動(dòng)IIS就可以生效了
通過上述配置后,您就可以在Discuz!4.1.0后臺(tái)中根據(jù)需要開啟影響的靜態(tài)功能了
無
不啟用URL靜態(tài)化功能
Discuz!Archiver靜態(tài)化
當(dāng)論壇啟用Archiver功能時(shí),Archiver內(nèi)的所有鏈接均采用*.html形式
普通頁面靜態(tài)化
對論壇常用頁面(如forumdisplay.php、viewthread.php、viewpro.php等)進(jìn)行URL靜態(tài)化轉(zhuǎn)換
Archiver和普通頁面均靜態(tài)化
對Archiver以及論壇常用頁面(如forumdisplay.php、viewthread.php、viewpro.php等)進(jìn)行URL靜態(tài)化轉(zhuǎn)換
使用注意事項(xiàng)
您可以通過系統(tǒng)設(shè)置中Discuz!選項(xiàng)來控制URL靜態(tài)化的打開或關(guān)閉及其工作狀態(tài),本功能對服務(wù)器環(huán)境有特殊要求,獨(dú)立主機(jī)用戶需要對Web服務(wù)器增加相應(yīng)的Rewrite規(guī)則,因此需要服務(wù)器權(quán)限才可使用;對于虛擬主機(jī)用戶,您需要向您的空間服務(wù)商進(jìn)行咨詢:空間是否支持Rewrite以及是否支持對站點(diǎn)目錄中.htaccess的文件解析,只有滿足這兩條件,URL靜態(tài)化功能才會(huì)生效
打開URL靜態(tài)化后,論壇一些常用鏈接會(huì)變成類似discuz/forum-1-1.html形式,如果您的服務(wù)器環(huán)境不支持或者尚未配置好,訪問這些鏈接會(huì)出現(xiàn)“網(wǎng)頁無法顯示”的錯(cuò)誤信息,論壇將無法正常訪問
發(fā)生無法訪問的現(xiàn)象時(shí),請您進(jìn)入管理后臺(tái),關(guān)閉URL靜態(tài)化功能,論壇即可恢復(fù)正常狀態(tài)
本文提供的壓縮包中還有一個(gè)httpd.ini文件,該文件是rewrite規(guī)則的配置文件
內(nèi)容如下(無需修改)
[ISAPI_Rewrite]# 3600 = 1 hourCACheClockRate 3600RepeatLimit 32# Protect httpd.ini and httpd.parse.errors files# from accessing through HTTPRewriteRule ^(.*)/archiver/([a-z0-9\-]+\.html)$ $1/archiver/index\.php\?$2RewriteRule ^(.*)/forum-([0-9]+)-([0-9]+)\.html$ $1/forumdisplay\.php\?fid=$2&page=$3RewriteRule ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$$1/viewthread\.php\?tid=$2&extra=page\%3D$4&page=$3RewriteRule ^(.*)/profile-(username|uid)-(.+)\.html$ $1/viewpro\.php\?$2=$3來源:月光博客
請立即點(diǎn)擊咨詢我們或撥打咨詢熱線: 18942620423,我們會(huì)詳細(xì)為你一一解答你心中的疑難。項(xiàng)目經(jīng)理在線