Configure the 404 pages in the configuration file as follows:
Copy Code code as follows:
<customerrors mode= "on" defaultredirect= "404.aspx" >
<error statuscode= "403" redirect= "404.aspx"/>
<error statuscode= "404" redirect= "404.aspx"/>
<error statuscode= "redirect=" "404.aspx"/>
</customErrors>
When you visit the Web site, the error page can be displayed normally, but the HTTP status code is 302, the SEO is very unfriendly, the following steps to modify the error page to return the correct benefit of the SEO 404 status Code:
1, add the code in 404.aspx:
Response.Status = "404 Moved Permanently";
If you do not do pseudo static, or no script mapping, the above is completely no problem, do not have to look down. If you do pseudo static, then 404 page return status code is still 302, please see the second step.
2, add the following code in the Global.asax:
Copy Code code as follows:
protected void Application_Error (object sender, EventArgs e)
{
Code that runs when an unhandled error occurs
This. Filenotfound_error ();
}
<summary>
404 Error handling
</summary>
private void Filenotfound_error ()
{
HttpException Erroy = Server.GetLastError () as HttpException;
if (Erroy!= null && Erroy. Gethttpcode () = = 404)
{
Server.ClearError ();
String path = "~/404.aspx";
Server.Transfer (path);
Context.Handler = pageparser.getcompiledpageinstance (path, Server.MapPath (path), context);
}
}
At this point, this stubborn problem has been solved.