gpt4 book ai didi

ASP.NET 自定义错误页面 HTTP 响应

转载 作者:可可西里 更新时间:2023-11-01 15:12:22 24 4
gpt4 key购买 nike

为什么当您打开自定义错误时,asp.net 从没有自定义错误时执行正常的 404 响应到以 302 或 200 响应?

例如,我尝试了以下所有方法:

<customErrors defaultRedirect="Error.aspx" mode="Off">
<error statusCode="404" redirect="Error.aspx?status=404" />
</customErrors>

<httpErrors>
<remove statusCode="404" subStatusCode="-1" />
<error statusCode="404" path="/error.aspx?status=404" responseMode="ExecuteURL" />
</httpErrors>

<httpErrors>
<remove statusCode="404" subStatusCode="-1" />
<error statusCode="404" path="/error.aspx?status=404" responseMode="Redirect" />
</httpErrors>

据我所知,第一个在重定向到错误页面时给出了 302,第二个出于某种原因给出了 200,最后一个也给出了 302。这看起来很愚蠢,因为我仍然想要一个 404 (或任何其他错误代码)而是显示友好的消息。

我知道我可以用我的错误页面发回不同的响应,但这似乎将 404 代码提供给错误页面并在原始请求中保留 302。

除非我遗漏了什么......

最佳答案

您是对的,当启用 customErrors 时,ASP.NET 的行为有点古怪。简而言之,您可以为 customErrors 设置 redirectMode="ResponseRewrite" 并在您的 error.aspx 页面中具体设置响应代码。

我在这里写了详细信息:Keep ASP.NET error pages out of search engines .

关于ASP.NET 自定义错误页面 HTTP 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17067565/

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