網頁如何以 301 Redirect 重導向

網站的管理中,有時會遇到需要對於網頁進行重新導向的情況,譬如:網站的內容調整、變更網頁的目錄結構、網頁遷移到一個新的位址、或者是網頁的附屬檔名變更,譬如把 .php 的網頁變成為 .html 或 .htm 。在這些情況下,若不做網頁的重導向,用戶的書籤、其他網頁的連結、或者是搜索引擎原先已索引的網址都會變成無法找到原有的網頁。訪問舊網址時會因而得到 404 查無資料的錯誤訊息。如此,當然會造成訪問流量的損失,甚至於網頁的位階也會受到影響。很難估計,究竟要花多久的時間,才能恢復舊觀。尤其是,有些網站可能註冊了許多網名,更是需要經由重導向的方式來使訪問不同網名的訪客,自動的轉讀主網名的網頁。

一般來說,常用的重導向的方法有: 301 redirect,  307 redirect 與 meta fresh:

  • 301 redirect:301 重導向是一種永久性的 URL 轉移 (Permanently Moved)。對於搜索引擎而言,301重導向是網頁轉址的最好表達與操作方式。
  • 307 redirect:307 重導向是一種暫時性的 URL 轉移 (Temporarily Moved )。很不幸,這種重導向的方式曾被用來做為欺騙搜索引擎作弊的手段之一。因此,目前若再採用 307 重導向的方式,很容易被引擎誤判為 spam 而被處罰。
  • meta fresh:這種方式以前我很常用。是在網頁的 meta 指令中,指定一定的時間後轉址到新的網頁。但,我使用時不太瞭解指定的時間短過 5 秒之內,會有被引擎誤判為 spam 的危機。因而,吃了不少悶虧。

以上三種方式,我們只談 301 Redrict 的設定方式。

Apache Server 301 重導向的設定

在Apache中,有個很重要的檔案  .htaccess。管理過自己網站的管理員,很早就會接觸到這一檔案的使用需求。301重導向只是其諸多使用功能之一。

Redirect permanent / http://bbs.newdomain.com/ ;將主目錄下的內容重導向到 http://bbs.newdomain.com/
redirect permanent /old.html http://bbs.newdomain.com/new-url/ ;將 old.html 網頁重導向到 http://bbs.newdomain.com/new-url/

  
經由重導向參數的正規表達式(Regular Expressions),可完成更複雜的匹配。有興趣的朋友可參考 Apache 的手冊。

PHP下的301重導向

<? Header( “HTTP/1.1 301 Moved Permanently” );
Header( “Location: http://bbs.newdomain.com” );?>

重新改寫過後,要確實的檢查是否都改對了。網路上有許多類似 Server Header 的檢查工具,如:
Check Server Headers Tool - HTTP Status Codes Checker



讀回應 (6), 回溯此網址. del.icio.us:網頁如何以 301 Redirect 重導向 digg:網頁如何以 301 Redirect 重導向 furl:網頁如何以 301 Redirect 重導向 Y!:網頁如何以 301 Redirect 重導向 hemidemi:網頁如何以 301 Redirect 重導向收進你的MyShare個人書籤

相關資訊

相關連結 :

6 回應 - “網頁如何以 301 Redirect 重導向



留點意見 ......

Quicktags: