2

Coldfusion 当前正在处理 *.cfm 和 *.html 页面。如果我请求一个不存在的页面,例如 www.example.com/sadfasdfasd.cfm,IIS 仍会将请求传递给 Coldfusion 处理程序,而不是定向到 IIS 404 错误页面。Coldfusion 处理程序以 Debugger 页面响应,指出找不到文件。在将文件传递给处理程序之前,如何让 IIS 检查文件是否存在。如果它不存在,我希望它显示 404 错误页面。目前我的错误页面设置为提供本地和远程的详细错误。

4

2 回答 2

1

尝试将httpErrors条目添加到您的根 web.config 文件,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
    <httpErrors errorMode="Custom">
            <remove statusCode="404" subStatusCode="-1" />
            <error statusCode="404" path="404.html" responseMode="File" />
        </httpErrors>
    </system.webServer>
</configuration>

您的自定义 404.html 页面也应该位于根文件夹中。

于 2012-12-04T21:11:23.953 回答
1

如果您进入 IIS 并关闭详细的错误消息,它将显示 IIS 错误,而不是让 Coldfusion 处理它。

如果您有权访问 IIS 管理器,请转到站点 > 错误页面 > 右侧的“编辑功能”。您可能也可以将等效代码放入您的 web.config 文件中来处理此问题。

您可以根据需要选择任何其他选项。

请注意,这也是允许您从coldfusion 的调试器中查看coldfusion 错误的功能。

于 2012-12-03T17:08:21.003 回答