iis|伺服器|解決
IIS(Internet Information Server,互連網資訊服務)是Windows提供的一個Web服務元件,筆者一直Windows 2000 Server來搭建W eb伺服器用以支援Asp網頁,最近開始使用Windows 2003 Server。
配置好IIS後,所有的Htm靜態網頁和大多數的Asp頁面不受影響,但個別Asp網頁出現了不能正常瀏覽的“HTTP500內部錯誤”問題(圖1)。莫非Windows Server 2003 IIS的效能還不如Windows 2000?我下定決心一定要查個水落石出。
圖1
當系統提示“HTTP500內部錯誤”問題時,常常會把網管們搞得一頭霧水,幸虧我這些Asp網頁本身沒有問題,因為它們在Windows 2000下能夠正常顯示,所以把出錯的原因歸結為IIS的問題。首先嘗試在百度網站上以“HTTP500內部錯誤”為關鍵字進行搜尋,搜出的資訊可真不少,但都不適合我遇到的問題。但從這些資訊中,我注意到了IIS中有“活動紀錄”這一重要訊息,在日誌裡面記錄的資訊應該詳細一些吧。有了這一想法,我又開始進行了下面的嘗試:依次執行“開始→設定→ 控制台→管理工具→Internet 資訊服務(IIS)管理器”,開啟“Internet 資訊服務(IIS)管理器”,然後展開網站中我的“axzx”網站,右擊它,選“屬性”後進入網站屬性頁面(圖2 )。
圖2
從圖中可以看到IIS6採用的是“W3C擴充日誌”,再單擊右邊的“屬性”按鈕,從中我們能夠得到該日誌存放的路徑,按照給出的路徑,找到這個記錄檔(exyymmdd.log),用記事本 開啟後,在檔案的最後發現了這樣的一條資訊所示(圖3 ),然後以“不允許的_Path_字元”為關鍵字進行搜尋,果然找到了相應的解決方案:
圖3
在圖2中切換到“主目錄”選項卡,在彈出的對話方塊中單擊“配置”按鈕,切換到“選項”標籤。原來2003為出於安全性考慮,在預設情況下“啟用父路徑”功能是關閉狀態,從而造成了部分Asp頁面不能開啟。當然這些不能開啟的頁面有這樣一個共同特徵,裡面都有用來調用父目錄的“../”字元,所以會出錯。把“啟用父路徑”左邊的複選框打上對勾(圖4),確定後再次瀏覽這個Asp檔案,久違的頁面又出現了,從而問題成功解決。
圖4
總之,出現“HTTP500內部錯誤”這一問題的原因很多,但體現到瀏覽器上卻很籠統,所以要具體問題具體分析。而“活動紀錄”就是IIS提供給我們分析問題的一雙“慧眼”,有了這雙“慧眼”就能夠找到出現問題的原因所在。當然IIS的“活動紀錄”還有別的用途,筆者在這裡只是拋磚引玉,希望引起大家對它的重視。