views:

217

answers:

3

I have a client who is trying to deploy a site that I designed in ASP.NET MVC, they are running IIS 6 and I've talked them through on how to setup wildcard mapping to make the clean URLs work.

However; when they attempt to go to the site they are still getting the normal page not found. Because for some reason the wildcard mapping isn't working.

What could be the issue?

A: 

In IIS 6 fo performance reasons there is no IIS level wildcard mapping to ASP.NET - this needs to be added in the IIS control panel.

The reason is that in IIS 6, asp.net runs external to the IIS core process (contrary to 7 where IIS is written in .NET), so they only forward what ASP.NET "should know about".

Customer should SERIOUSLY consider upgrading to IIS 7 ;)

TomTom
A: 

Issue sounds the same as described in steve sandersons blog. I'd go for option 1. Why? Because you can then further mimic iis7 by doing things like hooking into the request-processing pipeline :-)

David Archer
They did option 1 but it still isn't working.
dswatik
Did they definitely uncheck the "ensure file exists".?
David Archer
They said they did..but not sure
dswatik
I'm having the same issue, but I can confirm that the checkbox is unchecked.
pete the pagan-gerbil
+1  A: 

I had a similar problem, turns out it was because the aspnet_isapi.dll was not allowed.

Click Web Service Extensions in IIS Manager and check that ASP.NET v2.0.50727 is in the list and is allowed.

Brian Flynn
Yay, you just ended a 2-day headache, thanks!
Antoine