为什么当您打开自定义错误时,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 保留在原始请求中。
除非我错过了什么...