I have a new Windows Server 2012 machine with IIS 8. I have installed an application that uses Windows Authentication for the login page. The application uses .NET 2.0 (which was a bit of a pain to configure, but that is a different story) The application works perfectly if you specify the login page in the URL. This login page is the default document for the application which verifies the user and logs them in automatically if they are registered. If they are not registered then it redirects them to a Forms authentication login page where they can enter local application credentials.
The problem I have is that the login page only works when you browse to it directly I.E. type the name in the URL. If you use the Default document from IIs it returns a 404 error.
I have seen other articles here which are for IIS 7 or IIS 7.5 which appear on the surface to be the same as IIS 8 but the solutions for those problems do not resolve my problem.
The application pool is currently configured as Classic (have also tried Integrated) and uses NetworkService as the application Account and has 32 bit enabled. It is configured for .NET Framework v2.0. Default documents are enabled for both the site and the application virtual directory.
This led me to an answer for my situation. Indeed changing the order of the default documents got my index.html working after I moved it to the top of the list. I did not need to truncate the list any further.
However, the reason I was getting the error is I previously had index.aspx at the top and I did indeed have an index.aspx file in the website. But it turns out ASP.Net was not yet installed on the server. So the server returned a very misleading 404 error on the index.aspx (which was actually there) when it should have either ignored it and gone onto my test index.html file, or given me some message that it could not read .aspx file.