gpt4 book ai didi

asp.net - 跳过 CustomErrors 并转到 HttpErrors

转载 作者:行者123 更新时间:2023-12-02 16:26:25 26 4
gpt4 key购买 nike

我有这样的 web.config 设置

<customErrors mode="On"  >
<error statusCode="404" redirect="~/404" />
<error statusCode="403" redirect="~/500" />
<error statusCode="500" redirect="~/500" />
</customErrors>

以及httperrors

 <httpErrors errorMode="Custom" >
<error statusCode="400" path="C:\Inetpub\vhosts\domain.win2012.tld\error_docs\bad_request.html" />
<remove statusCode="401" subStatusCode="-1" />
<error statusCode="401" path="C:\Inetpub\vhosts\domain.win2012.tld\error_docs\unauthorized.html" />
<remove statusCode="403" subStatusCode="-1" />
<error statusCode="403" path="C:\Inetpub\vhosts\domain.win2012.tld\error_docs\forbidden.html" />
<remove statusCode="404" subStatusCode="-1" />
<error statusCode="404" path="C:\Inetpub\vhosts\domain.win2012.tld\error_docs\not_found.html" /><remove statusCode="405" subStatusCode="-1" />
<error statusCode="405" path="C:\Inetpub\vhosts\domain.win2012.tld\error_docs\method_not_allowed.html" /><remove statusCode="406" subStatusCode="-1" />
<error statusCode="406" path="C:\Inetpub\vhosts\domain.win2012.tld\error_docs\not_acceptable.html" />
<error statusCode="407" path="C:\Inetpub\vhosts\domain.win2012.tld\error_docs\proxy_authentication_required.html" /><remove statusCode="412" subStatusCode="-1" />
<error statusCode="412" path="C:\Inetpub\vhosts\domain.win2012.tld\error_docs\precondition_failed.html" />
<error statusCode="414" path="C:\Inetpub\vhosts\domain.win2012.tld\error_docs\request-uri_too_long.html" /><error statusCode="415" path="C:\Inetpub\vhosts\domain.win2012.tld\error_docs\unsupported_media_type.html" />
<remove statusCode="500" subStatusCode="-1" /><error statusCode="500" path="C:\Inetpub\vhosts\domain.win2012.tld\error_docs\internal_server_error.html" />
<remove statusCode="501" subStatusCode="-1" /><error statusCode="501" path="C:\Inetpub\vhosts\domain.win2012.tld\error_docs\not_implemented.html" />
<remove statusCode="502" subStatusCode="-1" /><error statusCode="502" path="C:\Inetpub\vhosts\domain.win2012.tld\error_docs\bad_gateway.html" />
<error statusCode="503" path="C:\Inetpub\vhosts\domain.win2012.tld\error_docs\maintenance.html" />
</httpErrors>

出现 404 错误。跳过 404 页面并转到 .aspxerrorpath= page.aspx和写作您正在查找的资源已被删除、更名或暂时不可用。

我想显示我自定义的 404、500 错误页面。怎么了

最佳答案

简而言之,在生产中可以完全摆脱“system.web -> customErrors”部分,该部分几乎是出于兼容性目的而保留的(查看 What is the difference between customErrors and httpErrors? 线程以了解更多信息),以及您在哪里还指定重定向。然后,仅在“system.webServer -> httpErrors”部分中指定必要的重定向和自定义错误页面。确保这些 HTML 文件存在于 Web 服务器上,并且可通过相对路径访问(或者这些页面存在于同一 Web 服务器上的父 Web 应用程序之一内,以便继承这些“错误”设置)。

解决方案资源管理器:

~/YourWebApp

  • ...

  • not_found.html

  • Web.config

Web.config(针对 404 状态代码错误):

<!--Dev: For Visual Studio Mode-->
<system.web>
<customErrors mode="On">
<error statusCode="404" redirect="~/not_found.html" />
</customErrors>
</system.web>


<!--Prod: For IIS Mode-->
<system.webServer>
<httpErrors errorMode="Custom">
<!--<error statusCode="404" path="C:\Inetpub\vhosts\domain.win2012.tld\error_docs\not_found.html" />-->
<error statusCode="404" path="~/not_found.html" responseMode="Redirect" />
</httpErrors>
</system.webServer>

关于asp.net - 跳过 CustomErrors 并转到 HttpErrors,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47338967/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com