Asp.net Custom Error Page Statuscode
Contents |
you're not alone. It's surprisingly difficult to do this correctly, not helped by the fact that some errors are handled by ASP.NET and others by
Customerrors Mvc
IIS. Ideally (and I expect such is the case with some other set custom error page in web.config mvc frameworks/servers) we would just configure our custom error pages in one place and it would just work, no matter
Customerrors Redirectmode
how/where the error was raised. Something like:
404 Page Not Found
I created a new ASP.NET MVC 5 application using the standard template in Visual Studio. If I run the site and try to navigate to a resource that does not exist e.g. /foo/bar, I'll get the standard ASP.NET 404 page with the following information: Server Error in '/' Application. The resource cannot be found. Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable. Please review the following URL and make sure that it is spelled correctly. Requested URL: /foo/bar Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.33440 Not exactly friendly, is it? In this case the error was raised by ASP.NET MVC because it could not find a matching controller and/or action that matched the specified URL. In order to set up a custom 404 error page add the following to web.config insideyour web site. The custom errors can be set or overridden on a site wide or directory-by-directory basis. While some web.config sections require that the directory is set as an application,
Httperrors Errormode Custom
this isn't one of them. A simple web.config with a httpErrors section may the configuration section 'customerrors' cannot be read because it is missing a section declaration be placed in any directory, and the directory does NOT need to be set as an application. What are http
Customerrors Mode= Off
errors? HTTP errors are returned to the client when something goes wrong on the server. Error status codes are returned if the requested file isn't found (404), or due to coding errors http://benfoster.io/blog/aspnet-mvc-custom-error-pages in the web page (500), and due to temporary issues such as failed database connections (500). The most common errors are 404 (file not found) and 500 (application) errors. Custom 404 and 500 errors are typically used to provide a friendlier error message to your users. Custom 404 and 500 errors could also redirect the user to the default (or any) page, and are sometimes used https://www.stokia.com/support/misc/web-config-custom-httperrors.aspx to notify the web site administrator of problems on the web site. If you wish to configure custom errors for your site, or even just for a single directory in your site, please follow the directions on this page. 400 Error (bad request) 401 Error (unauthorized) 403 Error (forbidden) 404 Error (not found) 500 Error (internal server error) How it's done Example custom HTTP errors. Comments are enclosed in and are not required. Capture and return specific error types
here for a quick overview of the site Help Center Detailed answers to any questions you might have Meta Discuss the workings and policies of this site About Us Learn more about Stack Overflow the company Business Learn more about hiring developers or posting ads http://stackoverflow.com/questions/347281/asp-net-custom-404-returning-200-ok-instead-of-404-not-found with us Stack Overflow Questions Jobs Documentation Tags Users Badges Ask Question x Dismiss Join the Stack Overflow Community Stack Overflow is a community of 4.7 million programmers, just like you, helping each other. Join them; it only takes a minute: Sign up ASP.NET Custom 404 Returning 200 OK Instead of 404 Not Found up vote 65 down vote favorite 14 After trying to setup my site for Google Webmaster Tools I found that my Custom ASP.NET 404 page was not returning the custom error 404 status code. It displayed the correct custom page and told the browser that everything is OK. This is consider a soft 404 or false 404. Google doesn't like this. So I found many articles on the issue but the solution I want didn't seem to work. The solution I want to work is adding the following two lines to the code behind Page_Load method of the custom 404 page. Response.Status = "404 Not Found"; Response.StatusCode = 404; This doesn't work. The page still custom error page returns 200 OK. I found however that if I hard code the following code into the design code it will work properly.