Skip to main content
mvierow
Inspiring
March 8, 2010
Question

Migrating from IIS6 to IIS7, 404's, Handler mapping woes..

  • March 8, 2010
  • 1 reply
  • 3278 views

Hello, I've migrated an application from IIS 6 to IIS 7 and all is running well. I would like to handle 404 errors outside of ColdFusion however. Very simple with IIS 6, I simply checked "Verify that file exists" under the .cfm and .cfc extensions. In IIS 7, I have taken the route recommended in other forums by setting the "Invoke handler only if request is mapped to: File", but this has no effect on the processing of a ColdFusion template. I still see the generic 404 error that ColdFusion generates by default.

I've noticed that there is a wildcard declaration in the handler mappings, mapping all requests to jrun_iis6_wildcard.dll. I tried removing this entry and as soon as I do I get server errors for all of my requests. The fact that there is a change however is leading me to believe that this wildcard declarion is handling the .cfm requests, and not the handler actually assigned to *.cfm. The wildcard script mapping does not have the option mentioned above, so I cannot verify the ColdFusion template actually exists.

Viewing the "ordered list", *.cfm appears above the wildcard mapping, but I am expecting that because I've set the *.cfm mapping to execute only if the file exists, the request is simply dropping down to the wildcard mapping.

Anyone have luck with this?

    This topic has been closed for replies.

    1 reply

    mvierow
    mvierowAuthor
    Inspiring
    March 8, 2010

    Ok, for some unknown reason ColdFusion installer mapped out all of the necessary extensions to jrun_iis6.dll, then through in a wildcard mapping to jrun_iis6_wildcard.dll. You can ignore all of those individual mappings, as they are useless. Instead, if you need request restrictions you'll need to update each extension you'll need those restrictions using to use the jrun_iis6_wildcard.dll executable.

    My web.config file ended up looking like so..

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
        <system.webServer>
            <handlers>
                <remove name="AboMapperCustom-27882" />
                <remove name="AboMapperCustom-27881" />
                <remove name="AboMapperCustom-27880" />
                <remove name="AboMapperCustom-27879" />
                <remove name="AboMapperCustom-27878" />
                <remove name="AboMapperCustom-27877" />
                <remove name="AboMapperCustom-27876" />
                <add name="AboMapperCustom-27876" path="*.jsp" verb="*" type="" modules="IsapiModule" scriptProcessor="C:\ColdFusion8\runtime\lib\wsconfig\1\jrun_iis6_wildcard.dll" resourceType="Unspecified" requireAccess="Script" allowPathInfo="false" preCondition="" responseBufferLimit="0" />
                <add name="AboMapperCustom-27877" path="*.jws" verb="*" type="" modules="IsapiModule" scriptProcessor="C:\ColdFusion8\runtime\lib\wsconfig\1\jrun_iis6_wildcard.dll" resourceType="Unspecified" requireAccess="Script" allowPathInfo="false" preCondition="" responseBufferLimit="0" />
                <add name="AboMapperCustom-27878" path="*.cfm" verb="*" type="" modules="IsapiModule" scriptProcessor="C:\ColdFusion8\runtime\lib\wsconfig\1\jrun_iis6_wildcard.dll" resourceType="Either" requireAccess="Script" allowPathInfo="false" preCondition="" responseBufferLimit="0" />
                <add name="AboMapperCustom-27879" path="*.cfml" verb="*" type="" modules="IsapiModule" scriptProcessor="C:\ColdFusion8\runtime\lib\wsconfig\1\jrun_iis6_wildcard.dll" resourceType="Either" requireAccess="Script" allowPathInfo="false" preCondition="" responseBufferLimit="0" />
                <add name="AboMapperCustom-27880" path="*.cfc" verb="*" type="" modules="IsapiModule" scriptProcessor="C:\ColdFusion8\runtime\lib\wsconfig\1\jrun_iis6_wildcard.dll" resourceType="Either" requireAccess="Script" allowPathInfo="false" preCondition="" responseBufferLimit="0" />
                <add name="AboMapperCustom-27881" path="*.cfr" verb="*" type="" modules="IsapiModule" scriptProcessor="C:\ColdFusion8\runtime\lib\wsconfig\1\jrun_iis6_wildcard.dll" resourceType="Unspecified" requireAccess="Script" allowPathInfo="false" preCondition="" responseBufferLimit="0" />
                <add name="AboMapperCustom-27882" path="*.cfswf" verb="*" type="" modules="IsapiModule" scriptProcessor="C:\ColdFusion8\runtime\lib\wsconfig\1\jrun_iis6_wildcard.dll" resourceType="Unspecified" requireAccess="Script" allowPathInfo="false" preCondition="" responseBufferLimit="0" />
            </handlers>
        </system.webServer>
    </configuration>