Asp.net-Mvc
ASP.NET MVC 自定義錯誤頁面(StatusCode 404 拋出 500)
我在 web.config 中設置了 customErrors
<customErrors mode="On" defaultRedirect="/Error/GeneralError"> <error statusCode="404" redirect="/Error/NotFound"/> </customErrors>這在本地執行良好。404 會引發 404。在共享主機上,它會引發標準伺服器 404 頁面,除非我專門將 404 設置為指向 /Error/NotFound。沒關係。現在它將顯示自定義 404 頁面,但響應狀態程式碼為 200。所以如果我嘗試拋出 Response.StatusCode = 404; 在我的 ErrorController 中的 NotFound 操作中,如下所示:
public class ErrorController : Controller { public ActionResult NotFound() { Response.StatusCode = 404; return View(); } }伺服器拋出狀態程式碼 500 Internal Server Error 但我的 GeneralError 頁面沒有顯示,只是一個沒有源的空白頁面。
我嘗試了許多不同的組合,但似乎找不到如何讓它顯示我的自定義 404 頁面以及 404 響應。
有任何想法嗎?
我在這裡找到了一些有趣的資訊:http: //blog.angrypets.com/2008/03/responsetryskip.html
Response.TrySkipIisCustomErrors = true;在解決問題之後設置
TrySkipIisCustomErrors為。true``Response.StatusCode = 404;
不要使用
customErrors元素(除了轉向mode="On"本地測試)。相反,為您的每個Marco’s Better-Than-Unicorns MVC 404 AnswerApplication_EndRequest添加一個方法。MvcApplication