2003+IIS6.0添加偽靜態組件ISAPI_Rewrite圖(tú)文教程(chéng)
ISAPI_Rewrite,ISAPI_Rewrite用來實現偽靜態,將動態網頁(yè)通過重寫URL的方(fāng)法實現(xiàn)去掉動態網(wǎng)頁的參數!它的行為(wéi)是像Apache的mod_Rewrite ,但(dàn)專為微軟(ruǎn)的Internet信息服(fú)務( IIS )。 IIS配置相當簡(jiǎn)單,配置(zhì)好之後就(jiù)有一些細節是需要調試的比如在Apache’s上很有用(yòng)的.htaccess文件在IIS上就沒有,要想實現(xiàn)類似的跳轉功能(néng)可以使用ISAPI_Rewrite來代(dài)替(tì),這是一個專(zhuān)門為IIS設置(zhì)的(de)工具(jù),目的就是(shì)代替.htaccess實(shí)現很多功能,其中最常用的就(jiù)是301轉向和(hé)偽靜態。
準確來說它應該(gāi)是(shì)代替Apache’s上的(de)mod_Rewrite,還不能夠完全代替.htaccess所以在語(yǔ)法和使(shǐ)用上(shàng)有很多要注意的(de)地方。
ISAPI_Rewrite是一個(gè)ISAPI篩選器的書麵純的C / C + +所以速度極快。
Windows2003下(xià)IIS6.0的偽靜態(tài)組件安裝和偽靜態(tài)配置(zhì)方法,還包括常用的偽靜態規則使用方(fāng)法。
1)下載IIS偽靜態組件——ISAPI_Rewrite3完全破(pò)解版
ISAPI_Rewrite3非常好(hǎo)用(yòng),是個人見過(guò)最好用同時可以支(zhī)持多(duō)站點(diǎn)的IIS偽(wěi)靜態(tài)組(zǔ)件!
1、綠色資源網下載(http://www.chithemodel.com/soft/13513.html);
2
2)安裝IIS偽靜態組件
1、以下載本網站(zhàn)的破解版為例:將下載(zǎi)的ISAPI_Rewrite3解壓(yā),你會看到兩個文件(分別(bié)是(shì):ISAPI_Rewrite.dll 和httpd.conf);
把整(zhěng)個文件夾解壓到安裝在C:Program FilesISAPI_Rewrite下;
2、將Rewrite破(pò)解文件夾中的ISAPI_Rewrite.dll文件覆(fù)蓋(gài)到程序安裝目錄下替換即(jí)可(kě);
3、打開安裝目錄下(xià)的httpd.conf文件,在裏麵輸入以下內(nèi)容並保存,這樣就沒有使用天(tiān)數的限(xiàn)製(zhì)了;
RegistrationName= wlqcwin
RegistrationCode= 2EAD-35GH-66NN-ZYBA
4、安(ān)裝好後(hòu)記(jì)得給ISAPI_Rewrite3軟件安裝目錄network service的讀(dú)權限(或Users的讀(dú)權限),否(fǒu)則會(huì)出現無(wú)法(fǎ)加載ISAPI_Rewrite的錯誤。
3)IIS偽靜態配(pèi)置方法
我(wǒ)們打(dǎ)開Internet 信息服務(IIS)管理器,找(zhǎo)到"網(wǎng)站",右鍵打開"屬(shǔ)性"選項卡;
選擇"ISAPI 篩(shāi)選器"選項卡,點擊"添加",彈(dàn)出"添加/編輯篩(shāi)選器屬性(xìng)","篩(shāi)選器(qì)名(míng)稱"寫上ISAPI_Rewrite,這個可以自定義;"可執行文件(jiàn)"這裏,通 過"瀏覽"找到偽靜態組件安裝目錄下的ISAPI_Rewrite.dll文件即可,路徑是C:Program FilesISAPI_RewriteISAPI_Rewrite.dll;
一路確定之後(hòu),我(wǒ)們重啟下IIS管理(lǐ)器,之後(hòu)再次打開網站屬性的"ISAPI 篩選器",看下是(shì)不是剛剛添加的ISAPI_Rewrite變為(wéi)綠色向上的箭頭呢(ne)?這樣的話偽靜態就配(pèi)置成功了。
4)IIS偽靜態(tài)使用(yòng)方法
IIS偽靜態配置成功(gōng)後,在你的(de)IIS管理(lǐ)器——網站下麵,任(rèn)意建立一(yī)個新網(wǎng)站,就可(kě)以(yǐ)使用(yòng)偽靜態了。你隻需要在新(xīn)網站根(gēn)目(mù)錄下新建立(lì)一個.htaccess文件,用記(jì)事本打開,在裏麵(miàn)寫上相應的偽(wěi)靜態(tài)規則即(jí)可。
5)測試IIS偽靜態是(shì)否生效
1、在某個單獨(dú)網站(如:localhost)新建.htaccess文件,並在文件中寫上(shàng)以下規則:
RewriteEngine on
RewriteBase /
RewriteRule ^get-(.*).html /get.asp?id=$1
#說明:RewriteEngin on表示啟用(yòng)重寫功(gōng)能;RewriteBase / 表示重(chóng)寫的路徑是從網站(zhàn)根目錄開始。
2、在(zài)localhost下新建get.asp文件,文件(jiàn)內容以下:
<% response.write("get_id=" & request.querystring("id")) %>
3、在瀏覽(lǎn)器中分別輸入http://localhost/get-123.html 和 http://localhost/get.asp?id=123 ; 如果結果是一(yī)樣(yàng)的,則表明重寫成功。
至此(cǐ),如果測試成功,則(zé)表示(shì)安裝配置成功!
IIS6.0配置aspx偽靜態教(jiāo)程(chéng)
1、安(ān)裝
安裝ISAPI_Rewrite3,一路next,默認安(ān)裝到(dào)了服務器的C:\ISAPI_Rewrite3(目錄(lù)自由(yóu)設置,但需(xū)保證有iis瀏覽的(de)權限),接著打開IIS-web服(fú)務擴張-右鍵-添(tiān)加一個新(xīn)的(de)web服(fú)務擴展,擴展名字寫ISAPI_Rewrite,要求文件C:\ISAPI_Rewrite3\ISAPI_Rewrite.dll,並且設置為允許。
2、配置(zhì)IIS
打開iis,右鍵你的(de)站點屬性(xìng)--ISAPI 篩選器--添加(jiā)--篩選器(qì)名稱是(shì)ISAPI_Rewrite3 --可執行文(wén)件就(jiù)是ISAPI_Rewrite.dll的路徑,比如C:\ISAPI_Rewrite3\ISAPI_Rewrite.dll
給用(yòng)戶(hù)網站主機頭(tóu)加上“network service”的讀權(quán)限,其實就是該用戶(hù)網站(zhàn)的文件夾的(de)網絡讀寫權(quán)限(xiàn)。
安裝IIS Rewrite3後,會在全局的網站下 “iis> 網(wǎng)站 》屬性> isapi 篩選器”選項裏麵,刪除 isapi_rewrite3這個ISAPI篩選器,必須去掉這(zhè)個(gè)isapi_rewrite3篩選器,否則其它的網(wǎng)站(除首頁外)的(de)頁(yè)麵無法訪問(wèn)!
最後重(chóng)啟iis
當(dāng)然你可以把ISAPI_Rewrite3目錄放入站點根目錄(lù)下,但記得要給一個users和"network service"的讀權限。
注意:有些(xiē)服(fú)務器或者vps有(yǒu)做權(quán)限的,安裝後(hòu)httpd.conf可能隻有everyone和(hé)system的權限,如果修(xiū)改不了文(wén)件就添加一個administrator的權限
注意:如果服務器上網站較多,而僅僅要(yào)設置其中的一個,重新打開IIS-網站-右鍵屬性-ISAPI篩選器,把裏麵的(de)ISAPI_Rewrite刪(shān)除,到(dào)需要設置防盜鏈(liàn)的網站-右鍵屬性-ISAPI篩選器-添加(jiā)一個新的篩選(xuǎn),篩選名(míng)稱ISAPI_Rewrite,可執行文件C:\ISAPI_Rewrite3\ISAPI_Rewrite.dll。這樣就僅對一個網站設(shè)置偽(wěi)靜態了。
3、設置
開始菜單-所有程序-Helicon-ISAPI_Rewrite3-ISAPI_Rewrite Manager打開,點擊edit加入如(rú)下規則(zé):
# Helicon ISAPI_Rewrite configuration file
# Version 3.1.0.64
#偽Html部份
RewriteRule /test-(\d*)-(\d*).html /test.aspx\?id=$1&aa=$2
(寫(xiě)法請參(cān)照正則表達式(shì))
因為(wéi)使用的是(shì)免費版,所以隻能(néng)對(duì)整個站(zhàn)點進行設置,這個設置將對你服務器上的(de)所有網站(zhàn)生效,如果是正式版的話,將會對(duì)所有(yǒu)不同的網站進行單(dān)獨(dú)的設置(zhì)。
原test.aspx的(de)代碼為:
<form method="post" runat="server">
id號為:<%=id%>,name號為<%=name%>
</form>
test.aspx.cs的代碼(mǎ)為(wéi):
protected int id = 0;
protected int name = 0;
private void Page_Load(object sender, System.EventArgs e) {
if (!Page.IsPostBack) {
try {
id = int.Parse(Request.QueryString["id"].ToString());
}
catch { id = 0; }
try {
name = int.Parse(Request.QueryString["name"].ToString());
}
 
關鍵詞:IIS6.0,ISAPI,Rewrite
閱讀本文後您有(yǒu)什(shí)麽感想? 已有 人給出評價!
- 3
- 1
- 1
- 1
- 8
- 2