首页 > 解决方案 > 网络配置。在 httpErrors defaultPath 部分中路径是相对路径时找不到文件

问题描述

我在我的 Web 应用程序中使用自定义错误页面。对于 IIS,我在 web.config 文件中有这些设置:

<system.webServer>
  <httpErrors errorMode="Custom" defaultResponseMode="File" defaultPath="404.html">
    <remove statusCode="500"/>
    <error statusCode="500" path="500.html" responseMode="File"/>
  </httpErrors>
</system.webServer>

在此示例中,我显示错误 500 的 500.html 文件。对于任何其他错误,我显示默认 404.html 文件。这两个文件都在应用程序的根目录中。如果defaultPath是相对的,则找不到文件。但是,如果我设置绝对路径,则可以显示文件。像这样:

defaultPath="c:\Code\MyApp\MyApp\404.html"

我想指出这个问题对于defaultPath参数来说是实际的。相对路径在 web.config 文件中的任何其他位置都可以完美运行。

标签: asp.net-mvcweb-config

解决方案


尝试设置defaultResponseModeExecuteURL?

似乎将其设置为 file 告诉 IIS 需要一个文件路径。(来源


推荐阅读