本文實(shí)例講述了Asp.Net實(shí)現(xiàn)404頁面與301重定向的方法。。具體實(shí)現(xiàn)方法如下:
從一種程度來講301重定向與404頁面沒什么關(guān)系為什么我要拿到一起來講來,因?yàn)槎己芎?jiǎn)單實(shí)現(xiàn),所在我就一起介紹一下了。
如何在 asp.net 中設(shè)置404頁面的方法記錄下來。
下邊首先看看之前的設(shè)置方法,web.config文件中:
代碼如下:<configuration>
<system.web>
<customErrors mode="RemoteOnly" defaultRedirect="404.aspx">
</customErrors>
</system.web>
</configuration>
當(dāng)然,在之前我們已經(jīng)創(chuàng)建了404頁面404.aspx,相信很多人認(rèn)為這樣就可以了,但是我們忽略了一點(diǎn),這里只做了簡(jiǎn)單的重定向,并沒有告之瀏覽器該訪問頁面不存在。下邊一段摘自孫明博客:
404錯(cuò)誤就是seo/seo.html" target="_blank">搜索引擎通過HTTP狀態(tài)碼來識(shí)別網(wǎng)頁的狀態(tài)。當(dāng)搜索引擎獲得了一個(gè)錯(cuò)誤鏈接時(shí),網(wǎng)站應(yīng)該返回404狀態(tài)碼,告訴搜索引擎放棄對(duì)該鏈接的索引。而如果返回200或302狀態(tài)碼,搜索引擎就會(huì)為該鏈接建 立索引,這導(dǎo)致大量不同的鏈接指向了相同的網(wǎng)頁內(nèi)容。結(jié)果是,搜索引擎對(duì)該網(wǎng)站的信任度大幅降低。——很多網(wǎng)站存在這個(gè)問題:404頁面返回的是200或 302狀態(tài)碼而不是404狀態(tài)碼。
所以,接下來我在 404.aspx 文件下添加了下邊的代碼:
代碼如下:protected void Page_Load(object sender, EventArgs e)
{
Response.Status = "404 Not Found";
}
到這里,通過使用httpwatch工具可發(fā)現(xiàn)當(dāng)訪問網(wǎng)站中不存在的頁面時(shí),正確的返回了404狀態(tài)碼
那么301頁面怎么設(shè)置呢,下面我們來看看
舉個(gè)例子: 如本站原來的域名是 www.survivalescaperooms.com, 現(xiàn)在要將對(duì)這個(gè)域名的訪問,全部重定向到 www.survivalescaperooms.com; 只需在 需要轉(zhuǎn)向的頁面里,加入如下代碼:
代碼如下:protected void Page_Load(object sender, EventArgs e)
{
Response.Clear();
Response.StatusCode = 301;
Response.Status = "301 Moved Permanently";
Response.AddHeader("Location","http://www.survivalescaperooms.com");
}
使用這個(gè)方法,本站將原來的域名切換到了www.survivalescaperooms.com,現(xiàn)在的域名記起來應(yīng)該很容易了。
希望本文所述對(duì)大家的asp.net程序設(shè)計(jì)有所幫助。
新聞熱點(diǎn)
疑難解答
圖片精選