<customErrors mode="On" defaultRedirect="~/Error.aspx">
<error statusCode="500" redirect="~/500/"/>
<error statusCode="404" redirect="~/404/"/>
</customErrors>
这适用于以下请求:
~/egerg.aspx
~/wf92734eg.aspx
但是对于任何其他扩展,这给了服务器404页面!如何将服务器404页面重定向到我的错误页面?
答案 0 :(得分:1)
此解决方案适用于我的网站,在.NET Framework 4上有99%的webforms和1%的Razor / MVC 4。
在/Web.config中:
<system.web>
<customErrors mode="RemoteOnly" defaultRedirect="~/Error.aspx">
<error statusCode="500" redirect="~/500/"/>
<error statusCode="404" redirect="~/404/"/>
</customErrors>
</system.web>
在404处理程序的Page_Load事件中(/404/default.aspx.cs,我假设):
protected void Page_Load(object sender, EventArgs e)
{
Response.StatusCode = 404;
Response.TrySkipIisCustomErrors = true;
}
重复500处理程序的最后一步。
/_lobal.asax.cs中的Application_Error方法为空。
此解决方案与this one非常相似。