我無法獲得任何自定義錯誤頁面出現在IIS8.5!MVC自定義錯誤不工作在IIS8.5(但本地工作)
當我在Visual Studio中本地運行MVC 5應用程序時,會顯示自定義錯誤頁面。但是當我在我的web服務器上部署到IIS並導航到具有「錯誤URL」的站點子頁面時,應該顯示我的自定義404頁面,而是顯示默認的通用404頁面。
這裏是我做了什麼:
的web.config
customError部分已被刪除。
添加以下部分
<system.webServer>
<httpErrors errorMode="Custom" existingResponse="Replace">
<remove statusCode="404" />
<remove statusCode="500" />
<error statusCode="404" responseMode="ExecuteURL" path="/Error/NotFound" />
<error statusCode="500" responseMode="ExecuteURL" path="/Error/ServerError" />
</httpErrors>
</system.webServer>
控制器
namespace MyApp.Controllers
{
[Authorize(Roles = "MyRole")]
public class ErrorController : Controller
{
[AllowAnonymous]
public ActionResult NotFound()
{
Response.StatusCode = 404;
return View();
}
[AllowAnonymous]
public ActionResult ServerError()
{
Response.StatusCode = 500;
return View();
}
}
}
查看
非常簡單和直接轉發(這裏不包括)。
IIS
驗證的IIS錯誤頁面的功能是相同的什麼在我的配置。每個錯誤狀態代碼的頁面。功能和頁面設置爲「自定義」。
已安裝檢查過的Windows功能\ Web服務器(IIS)\ Web服務器\通用HTTP功能\ HTTP錯誤。
開發工具
導航到拼寫錯誤的子頁面顯示我得到一個404客戶端錯誤。
幫助
我已經嘗試很多東西!我錯過了什麼嗎? IIS環境問題,即設置某處?
自定義錯誤在我的IDE中工作,但不在IIS上。我已經花了一天的時間了!閱讀關於SO的許多頁面,文章和類似問題。
問題標題指出「在本地工作」,我的意思是它在Visual Studio IDE中工作,而不是在同一個IIS框上瀏覽。對不起,有任何困惑。 –
當您手動導航到其中一個錯誤操作(如/ Error/NotFound)時,您會看到什麼? –
@TiesonT。對於邊緣我得到「HTTP 404錯誤這很奇怪......微軟邊緣找不到這個頁面」的消息。對於FF和Chrome,我只需要空白頁面。 (不知道爲什麼FF和Chrome不顯示它們的通用瀏覽器404錯誤頁面。) –