I’ve tried to enable custom errors on production server for 3 hours, seems I found final solution how to do this in ASP.NET MVC without any routes.
To enable custom errors in ASP.NET MVC application we need (IIS 7+):
-
Configure custom pages in web config under
system.web
section:<customErrors mode="RemoteOnly" defaultRedirect="~/error"> <error statusCode="404" redirect="~/error/Error404" /> <error statusCode="500" redirect="~/error" /> </customErrors>
RemoteOnly
means that on local network you will see real errors (very useful during development). We can also rewrite error page for any error code. -
Set magic Response parameter and response status code (in error handling module or in error handle attribute)
HttpContext.Current.Response.StatusCode = 500; HttpContext.Current.Response.TrySkipIisCustomErrors = true;
-
Set another magic setting in web config under
system.webServer
section:<httpErrors errorMode="Detailed" />
This was final thing that I’ve found and after this I can see custom errors on production server.