我使用Asp.Net 4和C#。
我想知道如何更改Asp.Net customErrors
的默认beahviour。
在我的Web.Config
文件中,我使用此设置。
<customErrors mode="On" defaultRedirect="/ErrorPages/Oops.aspx">
<error statusCode="404" redirect="/ErrorPages/404.aspx" />
</customErrors>
正如您所料,如果找不到页面,Web.Config中指定的自定义页面会出现重定向。
请求页面:
http://localhost:1372/nopagehere
结果页面:
http://localhost:1372/ErrorPages/404.aspx?aspxerrorpath=/nopagehere
当我分析结果页面的Http Header时,我可以看到:
我想以这种方式改变这种行为:
知道怎么做吗?感谢您抽出宝贵时间。
答案 0 :(得分:5)
我猜您正在寻找redirectMode
部分的<customErrors>
属性。
请参阅:http://msdn.microsoft.com/en-us/library/h0hfz6fc.aspx
我认为您要将其设置为redirectMode="ResponseRewrite"
。这会抛出404并显示404页面的内容,但不会重定向到实际的404页面。
答案 1 :(得分:0)
可能会从自定义错误中删除状态代码404,并让默认重定向页面处理它。