我想使用“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