關於網站404頁面產生302狀態的問題,對引擎是很是不友的一件事。網站
訪問網站時錯誤頁面可正常顯示,但HTTP狀態碼倒是302,對SEO很不友好,按下列步驟修改使錯誤頁面返回正確的利於SEO的404狀態碼:this
一、在404.aspx中加入代碼:
Response.Status = "404 Moved Permanently";
若是你沒有作僞靜態,或者沒加腳本映射,以上徹底沒有問題,沒必要往下看了。若是作了僞靜態,那麼404頁面返回的狀態碼仍然爲302,請看第二步。
詳細出處參考:http://WWW.360NC.CNget
在配置文件中配置404頁面以下:
複製代碼 代碼以下:
<customErrors mode="On" defaultRedirect="404.aspx">
<error statusCode="403" redirect="404.aspx" />
<error statusCode="404" redirect="404.aspx" />
<error statusCode="400" redirect="404.aspx" />
</customErrors>string
訪問網站時錯誤頁面可正常顯示,但HTTP狀態碼倒是302,對SEO很不友好,按下列步驟修改使錯誤頁面返回正確的利於SEO的404狀態碼:io
一、在404.aspx中加入代碼:
Response.Status = "404 Moved Permanently";
若是你沒有作僞靜態,或者沒加腳本映射,以上徹底沒有問題,沒必要往下看了。若是作了僞靜態,那麼404頁面返回的狀態碼仍然爲302,請看第二步。ast
二、在 Global.asax 中加入下面的代碼:
複製代碼 代碼以下:
protected void Application_Error(object sender, EventArgs e)
{
//在出現未處理的錯誤時運行的代碼
this.FileNotFound_Error();
}
/// <summary>
/// 404錯誤處理
/// </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);
}
}配置
至此,這個頑固的問題得以解決。object