ASP.NET MVC Custom Error page (StatusCode 404 throws a 500)
asp.net-mvc, http-status-code-404
Solution
I found out some interesting information here: http://blog.angrypets.com/2008/03/responsetryskip.html
Response.TrySkipIisCustomErrors = true;
Setting `TrySkipIisCustomErrors` to `true` after the `Response.StatusCode = 404;` takes care of the issue.
Problem
I've got customErrors set in my web.config ``` <customErrors mode="On" defaultRedirect="/Error/GeneralError"> <error statusCode="404" redirect="/Error/NotFound"/> </customErrors> ``` This works fine locally. A 404 throws a 404. On the shared hosting it throws up the standard server 404 page unless I specifically set 404 to point to /Error/NotFound. That's fine. Now it will show the custom 404 page except the response status code is 200. So if I try to throw Response.StatusCode = 404; in my NotFound action in ErrorController like this: ``` public class ErrorController : Controller { public ActionResult NotFound() { Response.StatusCode = 404; return View(); } } ``` the server throws a status code 500 Internal Server Error but my GeneralError page doesn't show, just a blank white page with no source. I've tried many different combinations but I can't seem to find how to make it show my custom 404 page along with a 404 response. Any ideas?