如果 IIS 7.5 上的 ColdFusion 站点出现 404 错误,为什么我的自定义 404 页面没有被重定向到?我该如何解决?

Why isn't my custom 404 page being redirected to in the case of 404 errors on a ColdFusion site on IIS 7.5? How can I fix it?

编辑:我在发布这个问题后几分钟就弄明白了。请参阅下面我的回答。

我正在使用的这个站点是使用 ColdFusion 构建的,Web 服务器是 IIS 7.5。我已经创建了一个自定义 404 页面 /error.cfm,并且我尝试将代码添加到 web.config 文件,以便当用户收到 404 错误时,他们将被重定向到 error.cfm作为自定义 404 页面。但它根本不起作用,它给了我默认的 "IIS 7.5 Detailed Error - 404.0 - Not Found" 页面。

有人可以看看我的 web.config 代码并告诉我它是否有任何问题,或者我是否可以通过某种方式修复此自定义 404 页面?

<?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <system.webServer>
            <rewrite>
                <rules>
                    <rule name="Redirect to WWW" stopProcessing="true">
                        <match url=".*" />
                        <conditions>
                            <add input="{HTTP_HOST}" pattern="^example.com$" />
                        </conditions>
                        <action type="Redirect" url="http://www.example.com/{R:0}" redirectType="Permanent" />
                    </rule>
                </rules>
            </rewrite>
            <httpErrors>
                <remove statusCode="404" subStatusCode="-1" />
                <error statusCode="404" path="/error.cfm" responseMode="Redirect" />
            </httpErrors>
            <modules runAllManagedModulesForAllRequests="true"/>
        </system.webServer> 
    </configuration>

如您所见,我还为所有指向 www 的非 www 链接添加了重定向。我不确定这是否会以任何方式干扰自定义 404 页面,但我想我会提到它以防万一。

我修好了。我不得不进入 cpanel,寻找 "IIS Settings",找到 "Custom Errors" 并在其中设置 URL。但是,如果我输入 http://www.example.com/error.cfm, I had to put in http://example.com/error.cfm(没有 www),它就不起作用了。