[ASP.NET]IIS 7.0設定網頁可瀏覽特定副檔名文件
前言
當需要透過網頁直接瀏覽某個目錄裡面的文件時,若副檔名不在IIS預設的清單中,則會出現無法瀏覽。這一篇文章就從建立虛擬目錄開始step by step介紹。
範例與需求
- 假設AP在執行過程中會記錄log,而log檔案的副檔名是.log。
- 希望在網頁上,可以直接瀏覽存放log的目錄,以及直接在網頁上瀏覽log檔內容。
步驟
Step 0.
先用VS2010內建的網站範本建立一個新網站,log路徑假設定義在C:\test\,檔名為*.log。
Step 1.
在網站上,滑鼠右鍵,點選『新增虛擬目錄』。
Step 2.
輸入虛擬目錄的名稱,輸入對應的實體路徑。可以限定某個連線身分才有權限開啟。
Step 3.
設定好虛擬目錄後,直接點選某一個log檔,選擇『瀏覽』
會出現HTTP 錯誤404.3 – Not Found的失敗畫面
錯誤訊息上有寫到:『因為網頁伺服器上設定的多用途網際網路郵件延伸標準 (MIME) 對應原則,而無法提供您要求的網頁。如果此網頁為指令碼,請新增處理常式,而且如果它是應該要下載的檔案,請新增 MIME 對應。』
Step 4.
因為這邊要瀏覽的只是log檔,而非指令碼,所以要設定的是『新增MIME對應原則』。
點選mylog的目錄,選擇『MIME類型』
Step 5.
點選動作『新增』,副檔名輸入『.log』,MIME類型輸入『text/plain』,代表要直接在網頁瀏覽該log文件。
Step 6.
重新瀏覽log檔,該log檔內容如下:
結論
只是隨手memo一下,供後人在網路上查詢時,可以解決他的問題。
要了解一下,MIME就是針對哪些副檔名,要用什麼方式去開啟。所以如果發生了某些副檔名不合乎預期的開啟方式,請來檢查IIS的MIME,或是新增對應副檔名的處理常式,IIS才知道針對這類檔案要用什麼方式去開啟。
另外很重要的一點是,若有開放『瀏覽目錄』的需求時,請務必將權限設定好,例如限制可存取的ip、只可讀取等等。來避免網站產生漏洞。
Reference
blog 與課程更新內容,請前往新站位置:http://tdd.best/