title: ASP.NET MVC 4 on IIS 7.5, returns 404. Something to do with extensionless route mapping
body: <p>I have deployed an MVC 4 web-site to a Windows 2008 R2 server with IIS 7.5. .NET 4.5 is installed on the server.</p>
  
  <p>The site works fine locally. All routing works fine. However, when I put it on the server, nothing works. I have confirmed that the DNS/binding is working by putting a static text file in the site and this works.</p>
  
  <p>Here's a few things I've tried:</p>
  
  <ul>
  <li>The default route / returns 403.13 - indicating directory browsing is disabled (correct). This should surely map to /home/index?</li>
  <li>Any route (eg. /Organisation, Organisation/Index) simply returns 404.</li>
  <li>Made sure all my DLLs are copied over (as per <a href="http://haacked.com/archive/2008/11/03/bin-deploy-aspnetmvc.aspx">http://haacked.com/archive/2008/11/03/bin-deploy-aspnetmvc.aspx</a>)</li>
  </ul>
  
  <p>I have tried/confirmed:</p>
  
  <ul>
  <li>HttpRedirection is installed on IIS7 (as per <a href="http://support.microsoft.com/kb/2023146">http://support.microsoft.com/kb/2023146</a>)</li>
  <li>HttpErrors is installed on IIS7</li>
  <li>All my DLLs are in place</li>
  </ul>
  
  <p>Am I missing something? My next act of desperation is to install the full ASP.NET MVC 4 stack including Visual Studio Express, SQL Express, etc. just to see if it works. Which I really don't want to do. This is a production server!</p>
  
  <p><em>Update:</em>
  I should add that the same site works on en equivalent configuration in-house, on a staging server.</p>