Configure the 404 page in the configuration file as follows:
.The code is as follows:
<customerrors mode= "on" defaultredirect= "404.aspx" >
<error statuscode= "403" redirect= "404.aspx"/>
<error statuscode= "404" redirect= "404.aspx"/>
<error statuscode= "404.aspx" redirect= "/>"
</customErrors>
Visit the site when 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 404 status code for SEO:
1, add the code in 404.aspx:
Response.Status = "404 Moved Permanently";
If you did not do pseudo-static, or no script mapping, the above completely no problem, do not have to look down. If you do pseudo-static, then the 404 page Return status code is still 302, see the second step.
2. Add the following code to the Global.asax:
.The code is as follows:
protected void Application_Error (object sender, EventArgs e)
{
Code to run 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, the stubborn problem was solved.
Asp. NET Settings 404 page return 302HTTP status code resolution