加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-16 04:28:40 所属栏目:asp.Net 来源:网络整理
导读:为什么当您在自定义错误打开时没有自定义错误响应302或200时,asp.net会做正常的404响应? 例如,我尝试了以下所有方法: customErrors defaultRedirect="Error.aspx" mode="Off" error statusCode="404" redirect="Error.aspx?status=404" //customErrors 和
为什么当您在自定义错误打开时没有自定义错误响应302或200时,asp.net会做正常的404响应?

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

<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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读