Asp.net-Mvc
在 MVC 網站上出現 404 錯誤
我在 Windows Server 2008 上有一個 IIS7.5 網站,其中部署了一個 ASP.NET MVC2 網站。該網站是在 Visual Studio 2008 中建構的,面向 .NET 3.5,並且 IIS 5.1 已成功配置為也可以執行它,以進行本地測試。
但是,每當我嘗試導航到在 IIS7 中執行的頁面時,都會收到 404 錯誤。
我檢查了以下內容:
- IIS 日誌中沒有對應的 404 日誌條目。
- 實際上, IIS 日誌中有404 個條目。
- 該網站的應用程序池設置為使用集成管道。
- “customErrors”模式設置為關閉。
- .NET 3.5 SP1 已安裝
- 已安裝 ASP.NET MVC 2
- 我已經使用 MVC 診斷來確認所有 MVC DLL 都被找到了。
- ASP.NET 在 IIS 中啟用,我們通過執行 MVC 診斷頁面進行了展示。
- KB 2023146 確實強調了 HTTP 重定向已關閉,因此我們將其打開,但沒有任何樂趣。
編輯 好的,所以我們已經安裝了世界上最簡單的 MVC 應用程序(當您在 Visual Studio 中創建一個新的 MVC2 項目時創建的那個),我們仍然在我們嘗試訪問的任何頁面上得到 404 - 例如
<my_server>/Home/About將生成一個 404 .任何想法將不勝感激!
這通常是由 web.config 中缺少以下內容引起的:
<system.webServer> <modules runAllManagedModulesForAllRequests="true"/>
您是否只有 1 頁有問題,或者整個網站都無法正常工作?
A) 1 頁
- 您可以使用**RouteDebugger**來驗證路由是否匹配正確
B) 整個網站
- 我假設您使用的是 Windows Server - 檢查是否在 IIS 中啟用了 ASP.NET - 我相信預設情況下它是禁用的。
- 您可以使用MvcDiagnostics頁面檢查所有 dll 是否已正確部署。
- 您是否在 IIS7集成模式下執行?IIS7 的經典模式不會自動將無副檔名的 URL 映射到 ASP.NET(很像 IIS6)
- 確保您的Web.config標記配置正確。