我有下面的代码做404重定向的Global.asax.cs
protected void Application_Error(object sender, EventArgs e)
{
Exception ex = Server.GetLastError();
if (ex.InnerException != null)
ex = ex.InnerException;
if ((ex is HttpException && ((HttpException)ex).GetHttpCode()==404 ))
{
Response.Redirect("~/Custom404Page.aspx");
}
}
它可以在Visual Studio和获取用户友好Custom404Page罚款。
但是,当我部署在IIS 7.0中一样,它是不是在所有的工作。 显示如下消息
在web.config中
<customErrors mode="RemoteOnly" defaultRedirect="/Error.aspx" />
由于某些原因,我们被要求不要把任何条目在web.config中进行statusCode="404"
。 所以我们做了的global.asax.cs
为什么它不是在IIS工作。
UPDATE: domain/blahblah
没有显示Custom404Page。 但是domain.blahblah.aspx
,显示Custom404Page.aspx。 如何使它与SEO友好的URL工作domain/blahblah