Asp.net-Mvc

在 MVC 網站上出現 404 錯誤

  • June 12, 2019

我在 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標記配置正確。

引用自:https://stackoverflow.com/questions/5068770