站長們有時候會因為一些特殊的需求,需要將自己的網站進行網址的變更(像是從免費的網址換到付費的網址,或是註冊到更符合站名的網址等等)。但是更換網址實在是件很麻煩的事,不但可能會讓網友們找不到網站新址導致流量大幅下滑,而且好不容易在舊網址培養的權重也無法帶到新網址,連各大搜尋引擎的排名也得重新來過。
以上提到的三點,隨便一點對網站的殺傷力都很大;不過只要使用301重新導向變更網頁網址(301 Move Permanently,一般簡稱為301轉址或301重定向),就可以解決以上問題。
301重新導向變更網頁網址是HTTP協議中的一個狀態碼,它可以發送HTTP Location來重定向舊網址到正確的新網址。講的白話一點就是當你連進舊網址時,會自動被傳送到新的網址。
這樣一來,不但不怕網友找不到網站新址,而且搜尋引擎偵測到301設定時也會將舊網址的權重轉移給新網址(很難做到百分百轉移,能達到八成就要偷笑了;轉移時間也會因網站權重不同而有所差異,最快3週,最久可能超過半年),更不用擔心搜尋引擎排名又得從後段班慢慢往前爬了。
以下為常見的四種轉址方法:
(提醒一下,如果你是直接複製以下文章裡的程式碼,單引號和雙引號可能會變成全型字;因為程式碼不支援全型,所以建議單引號和雙引號要用半型手動重新輸入)
一、利用.htaccess進行301轉址(頁面對頁面傳送,適用於Apache伺服器)
如果你的網站使用的網頁伺服器軟體是Apache(不確定的話可以問主機商),推薦使用這一個方法。因為若是新舊網站內容一模一樣的話,這個方式可以做到頁面對頁面的轉址。
先在電腦上建立一個名為「.htaccess」的文件檔案,內容輸入以下文字碼:
RewriteEngine on
RewriteRule (.*) http://新網址.com/$1 [R=301,L]
然後將這個.htaccess檔案丟到網站空間的根目錄(就是放「index.html」那裡)即可。
註:Windows系統下檔案命名時無法將「.」放在最前面,你可以先隨便命個名,等丟進主機空間後再改。
二、利用PHP進行301轉址(傳送到首頁)
在網頁原始碼的最前面(就是第一行,前面不可以有任何文字)貼上以下文字碼:
header(‘HTTP/1.1 301 Moved Permanently’);
header(‘Location: http://新網址.com/’);
exit();
三、利用HTML的meta refresh進行轉址(傳送到首頁)
在網頁原始碼<head>與</head>之間貼上以下文字碼:
<meta http-equiv=”refresh” content=”0; url=http://新網址.com/” />
<link rel=”canonical” href=”http://新網址.com” />
四、利用JavaScript進行轉址(傳送到首頁)
在網頁原始碼<head>與</head>之間貼上以下文字碼:
window.location=’http://新網址.com/’;