IIS 404 Custom Error not working as expected

Jon picture Jon · Mar 5, 2009 · Viewed 29.4k times · Source

I'm working on IIS6, ASP.NET, VS2008. The web site uses a custom error handler to catch 404 errors and serve an alternate page. When presented with an url of the form:

http://srv/crimson/articles/index

Everything works perfectly. But an url of the form:

http://srv/crimson/blog.aspx

Where blog.aspx does not exist, fails with the following message:

Server Error in '/Crimson' Application. Description: HTTP 404...

When I try and debug, none of the breakpoints in my 404 handler are hit. So it appears that something is catching the request earlier. Where? And how to I get it to pass the request on to my handler?

Edit Thanks to those who answered, but none of those ideas worked. I've decided to attack the problem another way.

Answer

Roel Snetselaar picture Roel Snetselaar · Mar 5, 2009

You might wanna try this:

In IIS6:

  • open "properties" for your website
  • go to "home directory" tab
  • click on "configuration"
  • look for the extension ".aspx"
  • click on "edit"
  • check the checkbox which says "verify that file exists"

edit

And what about this: http://msdn.microsoft.com/en-us/library/h0hfz6fc(VS.80).aspx

<customErrors defaultRedirect="sorry.htm" mode="On">  
     <error statusCode="404" redirect="NotFound.aspx"/>
</customErrors>

Since 'RemoteOnly' specifies that custom errors are shown only to the remote clients, and that ASP.NET errors are shown to the local host.