本文實例講述了Asp.Net實現(xiàn)404頁面與301重定向的方法。分享給大家供大家參考。具體實現(xiàn)方法如下:
從一種程度來講301重定向與404頁面沒什么關(guān)系為什么我要拿到一起來講來,因為都很簡單實現(xiàn),所在我就一起介紹一下了。
如何在 asp.net 中設(shè)置404頁面的方法記錄下來。
下邊首先看看之前的設(shè)置方法,web.config文件中:
復(fù)制代碼 代碼如下:
configuration>
system.web>
customErrors mode="RemoteOnly" defaultRedirect="404.aspx">
/customErrors>
/system.web>
/configuration>
當(dāng)然,在之前我們已經(jīng)創(chuàng)建了404頁面404.aspx,相信很多人認(rèn)為這樣就可以了,但是我們忽略了一點,這里只做了簡單的重定向,并沒有告之瀏覽器該訪問頁面不存在。下邊一段摘自孫明博客:
404錯誤就是seo/seo.html" target="_blank">搜索引擎通過HTTP狀態(tài)碼來識別網(wǎng)頁的狀態(tài)。當(dāng)搜索引擎獲得了一個錯誤鏈接時,網(wǎng)站應(yīng)該返回404狀態(tài)碼,告訴搜索引擎放棄對該鏈接的索引。而如果返回200或302狀態(tài)碼,搜索引擎就會為該鏈接建 立索引,這導(dǎo)致大量不同的鏈接指向了相同的網(wǎng)頁內(nèi)容。結(jié)果是,搜索引擎對該網(wǎng)站的信任度大幅降低?!芏嗑W(wǎng)站存在這個問題:404頁面返回的是200或 302狀態(tài)碼而不是404狀態(tài)碼。
所以,接下來我在 404.aspx 文件下添加了下邊的代碼:
復(fù)制代碼 代碼如下:
protected void Page_Load(object sender, EventArgs e)
{
Response.Status = "404 Not Found";
}
到這里,通過使用httpwatch工具可發(fā)現(xiàn)當(dāng)訪問網(wǎng)站中不存在的頁面時,正確的返回了404狀態(tài)碼
那么301頁面怎么設(shè)置呢,下面我們來看看
舉個例子: 如本站原來的域名是 www.jb51.net, 現(xiàn)在要將對這個域名的訪問,全部重定向到 www.jb51.net; 只需在 需要轉(zhuǎn)向的頁面里,加入如下代碼:
復(fù)制代碼 代碼如下:
protected void Page_Load(object sender, EventArgs e)
{
Response.Clear();
Response.StatusCode = 301;
Response.Status = "301 Moved Permanently";
Response.AddHeader("Location","https://www.jb51.net");
}
使用這個方法,本站將原來的域名切換到了www.jb51.net,現(xiàn)在的域名記起來應(yīng)該很容易了。
希望本文所述對大家的asp.net程序設(shè)計有所幫助。
您可能感興趣的文章:- Windows虛擬主機(jī)與VPS如何實現(xiàn)301重定向(asp.net)
- 301重定向代碼合集(iis,asp,php,asp.net,apache)
- asp.net php asp jsp 301重定向的代碼(集合)
- asp,asp.net,php,jsp下的301轉(zhuǎn)向代碼
- ASP.NET中的跳轉(zhuǎn) 200, 301, 302轉(zhuǎn)向?qū)崿F(xiàn)代碼
- ASP.NET實現(xiàn)301重定向方法