【问题标题】:Remove all IIS error messages via <httpErrors> in web.config通过 web.config 中的 <httpErrors> 删除所有 IIS 错误消息
【发布时间】:2016-10-16 15:14:59
【问题描述】:

我正在执行以下操作:

<httpErrors errorMode="Custom">
  <remove statusCode="404" />
  <error statusCode="404" path="~/Error" responseMode="ExecuteURL" prefixLanguageFilePath="" />
  <remove statusCode="500" />
  <error statusCode="500" path="~/Error" responseMode="ExecuteURL" prefixLanguageFilePath="" />
</httpErrors>

但是我想删除所有 IIS 错误页面,这样我的内部详细信息就不会暴露在 404、403、500 等处。我尝试使用:

<remove statusCode="*" />

无济于事。这里有标准解决方案吗?

【问题讨论】:

  • 尝试将&lt;clear /&gt; 作为&lt;httpErrors&gt; 的第一个子节点,以删除所有现有的&lt;error&gt; 节点。

标签: asp.net-mvc iis web-config


【解决方案1】:

正如@Peter 所说,您可以使用&lt;clear&gt; 元素。

您可以使用&lt;remove&gt; 元素从您的站点或应用程序从 IIS 配置层次结构中的更高级别继承的错误消息集合中删除特定错误消息。此外,您可以使用 &lt;clear&gt; 元素从您的站点或应用程序继承的 HTTP 错误消息集合中删除所有 HTTP 错误消息。

参考:iis.net

例子:

<httpErrors errorMode="Custom">
  <clear />
  <error statusCode="404" path="/Error" responseMode="ExecuteURL" />
  <error statusCode="500" path="/Error" responseMode="ExecuteURL" />
</httpErrors>

(旁注:path 元素的 path 属性中不允许使用虚拟路径。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-25
    • 1970-01-01
    • 1970-01-01
    • 2018-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多