If you are using Umbraco 4.7 on IIS 7, you might stumble upon a weird issue, that your Custom Umbraco Error Page configurations are not detected anymore by IIS.
To know how to configure the Custom Error Pages in Umbraco , check this earlier post here.
Even if the above specified steps are followed, your site would show the 404 error page of IIS or the Umbraco Ugly Page.
This is because, IIS 7 always looks for HttpErrors section in web.config and does not pay attention to umbracoSettings.config. To overcome this issue, follow these steps:
1. Open your web.config. Browse to the ‘ <system.webServer>’ section.
2. Here you can tell the site to pass all of the error handling through to the application by using the code :
<httpErrors existingResponse="PassThrough" />
This has the disadvantage that Umbraco doesn’t handle anything but .aspx pages that are not found.
3. You could make it better by doing something like this instead:
<httpErrors errorMode="Custom"> <remove statusCode="404" subStatusCode="-1" /> <error statusCode="404" prefixLanguageFilePath="" path="/non-existing-page.aspx" responseMode="ExecuteURL" /> </httpErrors>
The non-existing-page.aspx does not exist yet in Umbraco, so it triggers a 404 (because it has the aspx extension) and.. presto: Umbraco handles the 404 perfectly!
Hope it helps !