如何创建自定义404页面并发送404消息?

时间:2010-01-21 11:03:10

标签: asp.net http-status-code-404

我知道如何使用Rewrite重定向页面。但是当有一个404页面时,我将如何显示我自己的自定义404页面(我知道我可以重写它)并说这实际上是404而不仅仅是一个简单的重写页面?

-edit -

如何设置错误代码而不是询问服务器?如果用户转到/ user / invaliduser /我想发送403或404,但我的重写会将其发送到有效页面以显示用户信息,所以我想知道怎么说不存在而不是空字段页。

2 个答案:

答案 0 :(得分:2)

为了更灵活,严格404.html按照我的例子。 在Global.asax.cs中覆盖:

public void Application_Error(Object sender, EventArgs e)
{
        if (HttpContext.Current.Request.IsLocal) return;

        Exception ex = Server.GetLastError();
        HttpException httpEx = ex as HttpException;
        string errorUrl;
        if (httpEx != null && httpEx.GetHttpCode() == 403)
            errorUrl = "~/error/403.aspx";
        else if (httpEx != null && httpEx.GetHttpCode() == 404)
            errorUrl = "~/error/404.aspx";
        else
            errorUrl = "~/error/500.aspx";
        Server.Transfer(errorUrl);
}

例如,我的404.aspx包含发送反馈的表单,403.aspx - 为用户公开更多有趣的项目,500向管理员发送警报。

答案 1 :(得分:1)

您可以执行404.html并将web.config文件中的404错误重定向到您自己的文件

<error statusCode="404" redirect="YOURFILE.htm" />