301 Redirect 永久重定向的實現


在我們的網站建設中,時常會遇到需要網頁重定向的情況:象網站調整,如改變網頁目錄結構,網頁被移到一個新位址,再或者,網頁副檔名改變,如因應用 需要把.php改成.Html或.shtml,在這種情況下,如果不做重定向,則用戶收藏夾或搜索引擎資料庫中舊位址只能讓訪問客戶還會得到一個404頁 面錯誤資訊,訪問流量白白喪失;再如某些註冊了多個功能變數名稱的網站,也需要通過重定向讓訪問這些功能變數名稱的用戶自動跳轉到主站點,等等。   

常用的重定向方式有: 301 redirect, 302 redirect 與 meta fresh:

• 301 redirect: 301代表永久性轉移(Permanently Moved),301重定向是網頁更改位址後對搜索引擎友好的最好方法,只要不是暫時搬移的情況,都建議使用301來做轉址。

• 302 redirect: 302代表暫時性轉移(Temporarily Moved ),在前些年,不少Black Hat SEO曾廣泛應用這項技術作弊,目前,各大主要搜索引擎均加強了打擊力度,象Google前些年對Business.com以及近來對BMW德國網站的懲 罰。即使網站客觀上不是spam,也很容易被搜尋引擎容易誤判為spam而遭到懲罰。

• meta fresh: 這在2000年前比較流行,不過現在已很少見。其具體是通過網頁中的meta指令,在特定時間後重定向到新的網頁,如果延遲的時間太短(約5秒之內),會被判斷為spam。

這裏我們主要談談如何通過301 Redirect實現網頁重定向

IIS伺服器實現301重定向

* 打開internet資訊服務管理器,在欲重定向的網頁或目錄上按右鍵,見下圖

*選中“重定向到URL”

* 在對話方塊中輸入目標頁面的位址

* 切記,記得選中“資源的永久重定向”

* 當然,最後要點擊“應用”

Apache伺服器實現301重定向

相比較來說,Apache實現起來要比IIS簡單多了。在Apache中,有個很重要的文件.htaccess,通過對它的設置,可以實現很多強大的功能,301重定向只是其中之一。 Redirect permanent / http://seo.highdiy.com/ ;將目錄下內容重定向到http://seo.highdiy.com/ redirect permanent /old.html http://seo.highdiy.com/new-url/ ;將網頁old.html內容重定向到http://seo.highdiy.com/new-url/

通過合理地配置重定向參數中的正則運算式,可以實現更複雜的匹配。有興趣的朋友可參考Apache手冊。

其他方法還有:

PHP下的301重定向

ASP下的301重定向 <%@ Language=VBScript %>

<% Response.Status=”301 Moved Permanently” Response.AddHeader “Location”, ” http://seo.highdiy.com”>

ASP .NET下的301重定向

配置完成後,要認真檢查一下是否正確。

Internet有很多類似的Server Header檢查工具,如 Check Server Headers Tool - HTTP Status Codes Checker