擴充設定IIS 預設的副檔名(附上如在visual studio的IIS Express怎麼加)
無奈, 這個問題我一直被同事重複問= =
應該要記錄下來><
問題案例: 一般要下載.zip, 用程式呼叫下載是沒問題的, 不會出現錯誤訊息: System.Net.WebException: 遠端伺服器傳回一個錯誤: (404) 找不到
--> 因為iis 或 IIS Express 認得, 有放進預設的副檔名列表中
而今天如果我們自己設一個副檔名叫.abc好了, 不想用.zip是因不想被外部知道其實是.zip, 減少被盜用或更符合系統需要, 這樣iis 或 IIS Express 就會認不得, 會報錯: System.Net.WebException: 遠端伺服器傳回一個錯誤: (404) 找不到,
有時會有更詳細的錯誤訊息:
HTTP 錯誤 404.3 - Not Found
因為網頁伺服器上設定的多用途網際網路郵件延伸標準 (MIME) 對應原則,而無法提供您要求的網頁。如果此網頁為指令碼,請新增處理常式,而且如果它是應該要下載的檔案,請新增 MIME 對應。
解決方式: 需自行擴充iis 或 IIS Express的預設的副檔名, 方式如下:
1. 在IIS Express加的方式:
- Adding MIME type to be used by Visual Studio 2012 Page Inspector (Web Browser):
2. 在IIS 加的方式:
- IIS 設定 MIME Type:
https://shunnien.github.io/2018/09/13/mime-type-set-for-iis/
e.g. 將 .abc 加上MIME type
<mimeMap fileExtension=".zip" mimeType="application/x-zip-compressed" />
<mimeMap fileExtension=".abc" mimeType="application/x-zip-compressed" /> <-- 這個需設定與上面.zip一樣的mimeType
留言
張貼留言