Custom 404 Error Setting In Web.config Only Working For .aspx
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 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 web.config not forwarding to 404 error page on non .aspx pages up vote 7 down vote favorite Objective I want all URLs of missing pages to forward to my 404 page which is in my root as 404error.aspx Problem So far only the URLs that have a .aspx will work. For example, if you enter 4error.aspx you will be redirected to the error page. /404error.aspx?aspxerrorpath=/4error.aspx Background I am not a .NET developer, so I just took over this project which uses classic .aspx. So I am not using any Microsoft product to build any of this in templates or frameworks. I am just coding in Sublime text. What I already researched 404 Redirecting for non aspx pages - the answers there were incomplete or do not work. 404 does not append aspxerrorpath for non aspx pages - but that was a bit different than what I want. I view many articles that I found on Google but nothing had a full example that actually worked. Code This is the entire code that I started with in my web.config web.config
your 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, this isn't one of them. A simple web.config with a httpErrors section may be placed in any directory, and the directory does NOT need to be set as an application. What are http errors? HTTP errors are returned to the client when something goes http://stackoverflow.com/questions/25798775/web-config-not-forwarding-to-404-error-page-on-non-aspx-pages wrong on the server. Error status codes are returned if the requested file isn't found (404), or due to coding errors 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 https://www.stokia.com/support/misc/web-config-custom-httperrors.aspx 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 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 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 IIS. Ideally (and http://benfoster.io/blog/aspnet-mvc-custom-error-pages I expect such is the case with some other frameworks/servers) we would just configure our custom error pages in one place and it would just work, no matter 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 inside