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