正確設定asp.net網站的404錯誤頁面

iDotNetSpace發表於2010-05-07

從網上搜尋asp.net網站如何自定義404錯誤頁面時,大多數文章都是告訴你:

 

在web.config中,找到system.web,配置以下內容即可。

 

實際上這樣做之後,根本就得不到404未找到網頁的網頁頭資訊,得到的是302臨時重定向的網頁頭資訊。大家可以用 Check Headers Tool 工具檢視 HTTP Status Codes就知道了。

 

那麼如何正確配置asp.net網站的自定義404錯誤網頁呢?

首先製作一個404.aspx頁面,然後在web.config檔案下的customeErrors中如下配置:
 customErrors  redirectMode="ResponseRewrite"
    error statusCode="404" redirect="~/404.aspx"/
/customErrors

RedirectMode有兩種屬性。
ResponseRedirect是指將使用者重定向到該錯誤頁面,並且原始 URL 更改為該錯誤頁面的 URL。
ResponseRewrite是指將使用者定向到錯誤頁面,並且不更改瀏覽器中的原始 URL。

 

然後再在404.aspx.cs檔案中,為Page_Load事件中加入以下程式碼: 

protected void Page_Load(object sender, EventArgs e)
{
    Response.Status = "404 Not Found";
}

 經過這樣設定之後,HTTP Status Code 才會是 404 Not Found。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-662136/,如需轉載,請註明出處,否則將追究法律責任。

相關文章