當您發生【HTTP 錯誤 404.3 - Not Found 因為網頁伺服器上設定的多用途網際網路郵件延伸標準 (MIME) 對應原則,而無法提供您要求的網頁】的錯誤時,有可能不是MIME TYPE的問題,本文提出可能的解決方案。
若您將ASP.NET應用程式部署至IIS 7(含以上)後,嘗試於啟用IIS服務的機器上執行ASP.NET應用程式時,可能遇到【HTTP 錯誤 404.3 - Not Found 因為網頁伺服器上設定的多用途網際網路郵件延伸標準 (MIME) 對應原則,而無法提供您要求的網頁。如果此網頁為指令碼,請新增處理常式,而且如果它是應該要下載的檔案,請新增 MIME 對應。】的錯誤訊息(如圖一)。
<圖一>
此時若從遠端執行該ASP.NET應用程式則會出現【404 - 找不到檔案或目錄。您要尋找的資源可能已移除、名稱已變更,或暫時無法使用。】錯誤訊息(如圖二)。
<圖二>
若您是先安裝.NET Framework 4.0獨立安裝套件再啟用IIS角色,就可能遇到本文所述的問題。從錯誤訊息看起來容易讓人誤會是未設定MIME對應、未建立對應的處理常式、所要求的*.aspx不存在或路徑錯誤,其實在圖一的【最有可能的原因】中已經有暗示,筆者先檢查IIS 7是否啟用ASP.NET功能。
從伺服器管理員看來IIS角色雖然啟用但ASP.NET角色服務確實未安裝,點選新增角色服務來安裝ASP.NET。
再新增角色服務精靈視窗中點選ASP.NET,接著精靈會把ASP.NET所需的角色服務一併加入,以確保ASP.NET可以順利執行,此步驟直接點選【新增所需的角色服務】後按下一步再按安裝。
【安裝步驟截圖】
上述步驟完成後重新執行ASP.NET應用程式即可順利執行。