Classic ASP start page not found (404) in IIS 7 on Windows Server 2008 R2

asp-classichttp-status-code-404iis-7

My site/application points to a folder called "site" with all permissions set up.
In that folder resides "home.asp".
Default document is "home.asp".
When I go to the domain, I get a "page not found".
If I capture that 404 error in IIS and tell it to redirect to "home.asp", everything works.
The problem with that is I don't want to redirect all 404's to home.asp.
I want the site to default to home.asp and find it.
Any ideas why this is happening?
Do I need to do something to the .Net side of things to tell it to use the .ASP side of things by default?
Do I need to create a .aspx default page that redirects to my "home.asp"? If so, what do I name that page?

Here is my web.config file, in case it gives any ideas:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.web>
        <sessionState timeout="45" />
        <httpRuntime executionTimeout="350" maxRequestLength="1024000000" />
    </system.web>
    <system.webServer>
    <!-- asp runOnEndAnonymously="false" /-->
        <security>
            <requestFiltering allowDoubleEscaping="true">
                <fileExtensions>
                    <remove fileExtension=".asa" />
                </fileExtensions>
                <requestLimits maxAllowedContentLength="1024000000" />
            </requestFiltering>
        </security>
        <staticContent>
            <mimeMap fileExtension=".asp" mimeType="application/asp" />
        </staticContent>
        <defaultDocument>
            <files>
                <remove value="default.aspx" />
                <remove value="iisstart.htm" />
                <remove value="index.html" />
                <remove value="index.htm" />
                <remove value="Default.asp" />
                <remove value="Default.htm" />
                <add value="home.asp" />
            </files>
        </defaultDocument>
        <httpErrors errorMode="DetailedLocalOnly">
            <remove statusCode="404" subStatusCode="-1" />
            <error statusCode="404" prefixLanguageFilePath="" path="/home.asp" responseMode="ExecuteURL" />
        </httpErrors>
        <asp bufferingOn="true">
            <limits bufferingLimit="1024000000" maxRequestEntityAllowed="1024000000" />
            <session timeout="00:40:00" />
        </asp>
        <directoryBrowse enabled="false" />
    </system.webServer>
</configuration>

Best Answer

[From my comment]

The fact that the redirect is working means that, by definition, the first request is not the same as the second (otherwise the redirect would cause another 404). Look in your IIS logs to see what the first request looks like versus the redirected one