在 IIS 7 中:如何为任何错误设置默认错误文档

在 IIS 7 中:如何为任何错误设置默认错误文档

我想使用“error.html”来处理 IIS 可能遇到的任何错误。

如果我在我的 webconfig 中声明以下阻止,则该网站将拒绝运行。

<httpErrors errorMode="DetailedLocalOnly" existingResponse="Replace" defaultPath="/error.html" defaultResponseMode="ExecuteURL">
    <remove statusCode="500" subStatusCode="-1" />
    <remove statusCode="404" subStatusCode="-1" />
    <remove statusCode="403" subStatusCode="-1" />
    <remove statusCode="401" subStatusCode="-1" />
    <error statusCode="401" prefixLanguageFilePath="" path="/401.html" responseMode="ExecuteURL" />
    <error statusCode="403" prefixLanguageFilePath="" path="/403.html" responseMode="ExecuteURL" />
    <error statusCode="404" prefixLanguageFilePath="" path="/404.html" responseMode="ExecuteURL" />
    <error statusCode="500" prefixLanguageFilePath="" path="/500.html" responseMode="ExecuteURL" />
</httpErrors>

注意属性默认路径=“/error.html”在根元素中。

我收到以下错误

HTTP 错误 500.19 - 内部服务器错误
...
配置错误:强制
...

答案1

编辑 %windir%\system32\inetsrv\config\applicationHost.config

设置线路:

<httpErrors lockAttributes="allowAbsolutePathsWhenDelegated,defaultPath">

到:

<httpErrors lockAttributes="allowAbsolutePathsWhenDelegated">

答案2

尝试使用 IIS 7 管理器正确设置。此外,您也可以这样做:

<system.web>
    <customErrors mode="On" defaultRedirect="~/error.html">
    </customErrors>
</system.web>

答案3

除了 Fabian 的回答之外,您还可以在以下位置找到该文件:

解决方案文件夹-> .vs(通常此文件夹是隐藏的)-> config

相关内容