谷歌404和.NET自定义错误页(Google 404 and .NET Custom Error

2019-08-17 07:45发布

我有一个ASP.NET 2.0的网站自定义的404页。 当未找到相关内容的网站与查询字符串此外aspxerrorpath = / mauro.aspx的用于自定义404错误页面。 404页本身送达与HTTP的200状态要尝试解决这个我添加

    protected void Page_Load(object sender, EventArgs e)
    {
        Response.StatusCode = 404;
    }

我加入了谷歌小工具,并与它的两个问题。 在Internet Explorer 7中不显示它应该。 如果我把它添加到内容,我得到的焦炭79线226点左右的“未知错误”; 如果我把它添加到头部的搜索框出现在内容上面。 在Firefox它工作正常。

所以我的问题是:

  1. 如何使小部件出现内联?
  2. 如何让我的错误页呈现为被请求具有原始名称和文件的路径404,这样,当我要求mauro.aspx我得到了404页的内容,但mauro.aspx的网址是什么? (我认为我必须做一些URL重写在begin_request Global.asax文件,但想这证实了之前我做傻事。)

Answer 1:

有一个在ASP.NET 3.5 SP1的新重定向模式,您现在可以使用,因此不会重定向。 它显示错误页面,但保留网址相同:

“还不错的URL重定向。如果设置redirectMode在web.config中‘responseRewrite’你可以避免重定向到自定义错误页和留在浏览器中不变的URL。”

  • CustomErrorsSection.RedirectMode地产 (MSDN)


Answer 2:

我已经在Global.asax文件中这样处理的404

protected void Application_BeginRequest(object sender, EventArgs e)
{
    string url = Request.RawUrl;
    if ((url.Contains(".aspx")) && (!System.IO.File.Exists(Server.MapPath(url))))
    {
        Server.Transfer("/Error/FileNotFound.aspx");
    }
}

现在,如果有人能帮助我与谷歌小工具,将是巨大的!



文章来源: Google 404 and .NET Custom Error Pages