Deploying ASP.NET MVC Application under IIS6
When deploying an ASP.NET MVC application under Windows Server 2003 and IIS6 (and Windows Server 2008 Classic Mode), you’ll get 404 page not found error on every page, except the index of the site. This is because IIS6 doesn’t not support routing.
There are many solutions to fix this, I’ll just explain my favorite, which is extension-less url.
So lets show IIS6 how to handle extension-less URL. For this, we’ll use the Wildcard Mapping feature.
- Open Internet Information Services (IIS) Manager. (run inetmgr)
- Right Click ยป Properties on your website.

- Open the Home Directory tab.
- Click on the Configuration button.
- Open the Mappings tab of the Application Configuration window.

- In the Wildcard application maps section, click on the Insert button.
- Browse to %windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll.
- uncheck “Verify that file exists”.

- That’s it! Now try your ASP.NET MVC Application it should work nicely!
Phil Haack has a very good article about this matter and also explains other solution. You should definitly read it!
This entry was posted on Tuesday, June 23rd, 2009 at 7:43 am and is filed under ASP.NET, IIS, MVC, Server. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.


Mike June 27th, 2009 at 10:42 pm
@YAZID: If you using II7 in classic mode, you can follow the same steps as this article. Otherwise, there is nothing special to do!