什么是302重定向及操作方法
301和302 Http狀態(tài)有啥區(qū)別?301,302 都是HTTP 狀態(tài)的編碼,都代表著某個(gè)URL 發(fā)生了轉(zhuǎn)移,不同之處在于: 301 redirect: 301 代表永久性轉(zhuǎn)移(Permanentl
301和302 Http狀態(tài)有啥區(qū)別?
301,302 都是HTTP 狀態(tài)的編碼,都代表著某個(gè)URL 發(fā)生了轉(zhuǎn)移,不同之處在于: 301 redirect: 301 代表永久性轉(zhuǎn)移(Permanently Moved) , 302 redirect: 302 代表暫時(shí)性轉(zhuǎn)移(Temporarily Moved ), 當(dāng)然 Http 狀態(tài) 200 標(biāo)示沒有任何問題發(fā)生。
這兩種轉(zhuǎn)移在使用的時(shí)候有啥好處或者問題?
301 重定向是網(wǎng)頁更改地址后對(duì)搜索引擎友好的最好方法,只要不是暫時(shí)搬移的情況, 都建議使用301來做轉(zhuǎn)址。 302 重定向是臨時(shí)性轉(zhuǎn)移。
在前些年,不少Black Hat SEO 曾廣泛應(yīng)用這項(xiàng)技術(shù)作弊,目前,各大主要搜索引擎均加強(qiáng)了打擊力度,象Google 前些年對(duì)Business.com 以及近來對(duì)BMW 德國網(wǎng)站的懲罰。即使網(wǎng)站客觀上不是spam ,也很容易被搜尋引擎容易誤判為spam 而遭到懲罰。
研究搜索引擎優(yōu)化(SEO )的人,應(yīng)該都知道,301,302 使用不當(dāng),或者靈活使用會(huì)有不錯(cuò)的效果的,比如參看下面文章:
302轉(zhuǎn)向與網(wǎng)址劫持
301轉(zhuǎn)向和網(wǎng)址規(guī)范化 301重定向的實(shí)現(xiàn)方法
51window 提供的301轉(zhuǎn)向的代碼
一個(gè)網(wǎng)站十幾個(gè)域名的重定向經(jīng)驗(yàn)談
幾個(gè)常用的301重定向
如果是運(yùn)維人員,配置WEB 服務(wù)器的一些設(shè)置就可以實(shí)現(xiàn)跳轉(zhuǎn),比如下面一些關(guān)于IIS 實(shí)現(xiàn)重定向的文章
將請(qǐng)求重定向到文件、目錄或程序 (IIS 6.0)
重定向參考 (IIS 6.0)
其他WEB 服務(wù)器也可以通過設(shè)置實(shí)現(xiàn)跳轉(zhuǎn),我就不羅列了。
從技術(shù)人員來說我們比較常用的跳轉(zhuǎn)方法有以下幾種:
我們使用 Fiddler 工具來監(jiān)控的下面提到的幾種方法,看跳轉(zhuǎn)過程中HTTP 狀態(tài)碼是301?302?200?:
方法1:Response.Redirect("Test.aspx");
狀態(tài)碼 302 臨時(shí)性跳轉(zhuǎn)
方法2:
meta fresh: 這在2000年前比較流行,不過現(xiàn)在已很少見。其具體是通過網(wǎng)頁中的meta 指令,在特定時(shí)間后重定向到新的網(wǎng)頁,如果延遲的時(shí)間太短(約5秒之內(nèi)) ,會(huì)被判斷為spam 。這種跳轉(zhuǎn)方式,整個(gè)跳轉(zhuǎn)過程中,頁面Http 狀態(tài)都是200,即,頁面沒有任何錯(cuò)誤發(fā)生。
方法3:Server.Transfer("Test.aspx");
這種跳轉(zhuǎn)方式,整個(gè)跳轉(zhuǎn)過程中,頁面Http 狀態(tài)都是200,即,頁面沒有任何錯(cuò)誤發(fā)生。
,方法4:URLRewrite
這種跳轉(zhuǎn)方式,整個(gè)跳轉(zhuǎn)過程中,頁面Http 狀態(tài)都是200,即,頁面沒有任何錯(cuò)誤發(fā)生。
沒有一種是301跳轉(zhuǎn)。也就是上面幾種跳轉(zhuǎn)方式都用不到301跳轉(zhuǎn)的好處。
使用301跳轉(zhuǎn)有啥好處呢?
SEO (搜索引擎優(yōu)化)中提到一點(diǎn):如果我們把一個(gè)地址采用301跳轉(zhuǎn)方式跳轉(zhuǎn)的話,搜索引擎會(huì)把老地址的PageRank 等信息帶到新地址,同時(shí)在搜索引擎索引庫中徹底廢棄掉原先的老地址。
如何編碼實(shí)現(xiàn)301跳轉(zhuǎn)呢?
Response.Status = "301 Moved Permanently";
Response.AddHeader("Location","http://www.mmmstar.com"); 這里的 ... 表示你要跳轉(zhuǎn)去的頁面。