在WEB程式部署中,使用ISAPI_Rewrite組件實現頁面偽靜態化的技術也比較常用。使用這項技術能夠讓網站展現一個結構良好的網址,提高搜尋引擎的收錄數量,從而提高網站的訪問量。
1、首先需要ISAPI_Rewrite組件。ISAPI_Rewrite 分精簡(Lite)和完全(Full)版兩種,精簡版不支援對每個虛擬機器主機網站進行重寫,只能進行全域處理。不過對於有伺服器的朋友,精簡版也就夠啦。該組件官方網址:http://www.isapirewrite.com/,下載網址:http://www.helicontech.com/download.htm,有Download ISAPI_Rewrite 3和Download ISAPI_Rewrite 2兩個版本的提供下載,其它版本的網上也應該能找到,最好是找破解版的。
2、安裝改組件的.msi的檔案,和裝一般程式一樣裝就可以了,安裝目錄也和其它軟體一樣的目錄就行,不一定要放在應用程式的根目錄中,網上看到好多文章說要放到根目錄,其實是這樣的:有兩種形式的設定檔GLOBAL(SERVER-LEVEL)和INDIVIDUAL(SITE-LEVAL)檔案,GLOBAL設定檔應被命名為HTTPD.INI並出現在ISAPI-REWRITE安裝目錄中,檔案的捷徑通過開始菜單提供,INDIVIDUAL設定檔應名為HTTPD。INI並且能夠出現在虛擬網站的物理根目錄中,兩種類型的格式化是相同的並是標準的WINDOWS。INI檔案,所有的指令都應該放在這一部分並且所有指令都應該以分隔線放置,任何這一部分以外的文本都將被忽略。
3、開啟Internet 資訊服務->右鍵->web網站屬性,選擇ISAPI篩選器選項卡->添加篩選器,名稱自己填,直接選取安裝目錄中的ISAPI_Rewrite.dll即可,然後確定,需要重新啟動IIS,如果該篩選器有向上的綠色箭頭說明安裝成功,否則安裝失敗
4、如果是在win2003的伺服器上的話,則有個需要特別配置的地方。如果是Windows 2003系統的IIS6,需要給該ISAPI_Rewrite組件的安裝資料夾IIS_WPG帳號的讀取許可權,對於httpd.parse.errors檔案要給以修改和寫入的許可權。
5、編寫Rewrite Rule,可參考ISAPI_rewrite中文手冊,這裡簡單介紹一下
# Two level , one params
RewriteRule ^(.*)/(\w+)/(\w+)-(\w+)-(\w+)\.html$ $1/$2/$3\.asp\?$4=$5
該規則把 http://www.test.cn/info/read-id-100.html
映射為如 http://www.test.cn/info/read.asp?id=100
# Two level , two params
RewriteRule ^(.*)/(\w+)/(\w+)-(\w+)-(\w+)-(\w+)-(\w+)\.html$ $1/$2/$3\.asp\?$4=$5&$6=$7
該規則把 http://www.test.cn/info/read-type-news-id-100.html
映射為如 http://www.test.cn/info/read.asp?type=news&id=100
# Three level , one params
RewriteRule ^(.*)/(\w+)/(\w+)/(\w+)-(\w+)-(\w+)\.html$ $1/$2/$3/$4\.asp\?$5=$6
該規則把 http://www.test.cn/good/info/read-id-100.html
映射為如 http://www.test.cn/good/info/read.asp?id=100
# Three level , two params
RewriteRule ^(.*)/(\w+)/(\w+)/(\w+)-(\w+)-(\w+)-(\w+)-(\w+)\.html$ $1/$2/$3/$4\.asp\?$5=$6&$7=$8
該規則把 http://www.test.cn/good/info/read-type-news-id-100.html
映射為如 http://www.test.cn/good/info/read.asp?type=news&id=100
更複雜的規則類似,這個規則應該有萬能的運算式,希望高手可以推薦一個
6、網址重新導向技術還可以用於防盜鏈的應用中,可以參考利用 ISAPI Rewrite 實現防盜鏈。