asp.net mvc route clashing with physical path in IIS7

asp.net-mvc, iis, web-config

Solution

Because the routing abstraction will only route a request that has no equivalent file on disk.

You have no other option but to rename your folder structure.

-- Edit No, actually you can disable that "feature" by setting the RouteExistingFiles property on RouteCollection.

Problem

I'm messing about with controller organisation and I've hit a problem. If I have the following physical structure ``` /Home/HomeController.cs /Home/Index.aspx /Home/About.aspx ``` and I request the URI: ``` /Home/Index ``` I get a `403 Directory Listing Denied` :( (im using a custom IControllerFactory and IViewEngine to look in this non-default path) Why is this happening? (I know the 403 is because its hitting the `/Home` folder, but why is it hitting the folder?) Why doesn't the UrlRoutingModule rewrite the route and let the controller pick up the request? `Application_BeginRequest` fires, but then it seems to pass control back to IIS to try and serve from the filesystem. Is it the UrlRoutingModule that defaults to a physical path if it exists before rewriting? Is there a way to make this work? N.B. Please don't suggest relocating my controllers etc. I know this is an obvious option, but that isn't the question ;) Using IIS7 In Integrated Mode Thanks

Original source