本文實例講述了Asp.Net實現404頁面與301重定向的方法。分享給大家供大家參考。具體實現方法如下:
從一種程度來講301重定向與404頁面沒什麼關系為什麼我要拿到一起來講來,因為都很簡單實現,所在我就一起介紹一下了。
如何在 asp.net 中設置404頁面的方法記錄下來。
下邊首先看看之前的設置方法,web.config文件中:
復制代碼 代碼如下:<configuration>
<system.web>
<customErrors mode="RemoteOnly" defaultRedirect="404.aspx">
</customErrors>
</system.web>
</configuration>
當然,在之前我們已經創建了404頁面404.aspx,相信很多人認為這樣就可以了,但是我們忽略了一點,這裡只做了簡單的重定向,並沒有告之浏覽器該訪問頁面不存在。下邊一段摘自孫明博客:
404錯誤就是seo/seo.html" target="_blank">搜索引擎通過HTTP狀態碼來識別網頁的狀態。當搜索引擎獲得了一個錯誤鏈接時,網站應該返回404狀態碼,告訴搜索引擎放棄對該鏈接的索引。而如果返回200或302狀態碼,搜索引擎就會為該鏈接建 立索引,這導致大量不同的鏈接指向了相同的網頁內容。結果是,搜索引擎對該網站的信任度大幅降低。——很多網站存在這個問題:404頁面返回的是200或 302狀態碼而不是404狀態碼。
所以,接下來我在 404.aspx 文件下添加了下邊的代碼:
復制代碼 代碼如下:protected void Page_Load(object sender, EventArgs e)
{
Response.Status = "404 Not Found";
}
到這裡,通過使用httpwatch工具可發現當訪問網站中不存在的頁面時,正確的返回了404狀態碼
那麼301頁面怎麼設置呢,下面我們來看看
舉個例子: 如本站原來的域名是 www.jb51.net, 現在要將對這個域名的訪問,全部重定向到 www.jb51.net; 只需在 需要轉向的頁面裡,加入如下代碼:
復制代碼 代碼如下:protected void Page_Load(object sender, EventArgs e)
{
Response.Clear();
Response.StatusCode = 301;
Response.Status = "301 Moved Permanently";
Response.AddHeader("Location","http://www.jb51.net");
}
使用這個方法,本站將原來的域名切換到了www.jb51.net,現在的域名記起來應該很容易了。
希望本文所述對大家的asp.net程序設計有所幫助。