web.config错误失败,responseMode ="File"

Tro*_*jan 10 web-config http-error iis-7.5 http-status-code-404

根据Microsoft的文档,对于静态(即HTML)内容,web.config应该读取responseMode="File"每个错误.

目前,我的web.config包括

<httpErrors errorMode="Custom">
    <!-- remove statusCodes -->
    <error statusCode="404" path="/error/404.html" responseMode="ExecuteURL" />
</httpErrors>
Run Code Online (Sandbox Code Playgroud)

这将返回正确的自定义错误页面,但返回200 OK状态代码.

当我将"ExecuteURL"更改为"File"时,我的服务器确实返回404,但不显示自定义错误页面.相反,我收到消息"您要查找的资源已被删除,其名称已更改,或暂时不可用".

如何读取web.config,返回静态文件,还有404?

编辑:<customErrors>在得知该标记用于IIS <= 6.0后删除了问题

Luk*_*s K 25

很长一段时间,我的问题完全相同.现在我偶然发现问题出现在斜线字符中.

这对我有用 - 没有开始斜线和使用\而不是/

  <error statusCode="404" path="Static\WebServer\PageNotFound.htm" responseMode="File" /> 
Run Code Online (Sandbox Code Playgroud)