
日期:2008-06-20 作者:喜騰小二 來源:PHPChina
前言
在我們的網站建設中,時常會遇到需要網頁重定嚮的情況:象網站調整,如改變網頁目錄結構,網頁被移到一個新地址,再或者,網頁副檔名改變,如因應用需要把.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永久重新定嚮
這裡我們主要談談如何透過301 Redirect實現網頁重定嚮
IIS伺服器實現301重定嚮
* 開啟internet資訊服務管理員,在慾重定嚮的網頁或目錄上按右鍵,見下圖
* 選中“重定嚮到URL”
* 在對話方塊中輸入目的页面的地址
* 切記,記得選中“資源的永久重定嚮”
* 當然,最後要按“應用”
Apache伺服器實現301重定嚮
相比較來說,Apache實現起來要比IIS簡單多了。在Apache中,有個很重要的檔案.htaccess,透過對它的設定,可以實現很多強大的功能,301重定嚮隻是其中之一。
Redirect permanent / http://www.ccvita.com/ ;將目錄下內容重定嚮到http://www.ccvita.com/
redirect permanent /old.html http://www.ccvita.com/new-url/ ;將網頁old.html內容重定嚮到http://www.ccvita.com/new-url/
透過合理地配置重定嚮參數中的規則運算式,可以實現更復雜的比對。有興趣的朋友可參考Apache手冊。
其他方法現301重定嚮還有:
PHP下的301重定嚮
< ? Header( "HTTP/1.1 301 Moved Permanently" );
Header( "Location: http://www.ccvita.com" );?>
ASP下的301重定嚮
< %@ Language=VBScript %>
< % Response.Status=”301 Moved Permanently” Response.AddHeader “Location”, ” http://www.ccvita.com”>
ASP .NET下的301重定嚮
配置完成後,要認真檢查一下是否正確。Internet有很多類似的Server Header檢查工俱,如Check Server Headers Tool - HTTP Status Codes Checker或本站提供的這個網頁重定嚮檢查工俱。