我相信做網站的人都瞭解過 301 重定向,它可以讓網站權重集中,向搜尋引擎傳達一個友好的資訊。但是,相信有不少做站的朋友們使用的虛擬空間無法新增 301 重定向,今天本文就來告訴你在不更換空間的情況下,怎麼透過其他的方法來實現 301 重定向。我主要介紹兩種方法來實現這個目的:

第一種是軟重定向,使用程式碼進行 301 重定向

雖然我們無法在虛擬空間中設定 301 重定向,但是程式碼還是可以修改的,所以我們可以對 index 檔案進行修改,由於每個程式使用的程式碼不相同,大家可以自行搜尋與自己程式向匹配的 301 重定向程式碼,我這邊以 WordPress 部落格為例進行講解,方法大同小異。

將以下這段程式碼放入到根目錄的 index.php 最開始的地方

$the_host = $_SERVER['HTTP_HOST'];//取得當前域名

if(strtolower($the_host) != 『www.bluefate.org』)//把這裡的域名換上你想要的

{ $URIRedirect=$_SERVER['REQUEST_URI']; //獲取域名後的引數

if(strtolower($URIRedirect)==」/index.php」)//判斷是引數為/index.php 就顯示為/

{

$URIRedirect=」/」;

}

header(「HTTP/1.1 301 Moved Permanently」);//發出 301 頭部

header(「Location: http://www.baiduzq.com」.$URIRedirect);//跳轉到你希望的地址格式

exit();

}

新增這段程式碼之後,可以將原域名下的所有連結地址定向到對應新域名的地址,即:域名變化,但是引數不變的。這樣就巧妙的實現了 301 重定向,同樣達到了向搜尋引擎傳達友好資訊的作用。

第二種是透過 DNSPOD 來實現 301 重定向

這個方法是我今天要強烈推薦的,主要是因為這個方法非常的簡單,但是效果卻是一樣可以達到。請看下圖

301重定向

在上圖中有四個引數,我們需要用到的主要有 A 、 B 、 D 這三個引數。做 301 重定向,首先就是要把記錄型別,即引數 B 設定為顯性 URL,剩下的就是補充其他的引數,有這兩種情況

第一種情況,把不帶 WWW 的重定向到帶 WWW 的

操作方法:主機記錄填寫 @(@代表主域名),記錄值填寫你的目標網址比如 http://www.123.com,這樣就可以把 123.com 重定向到 www.123.com

第二種情況,把 A 網址重定向到 B 網址

操作方法:需要新增兩條記錄,一條是把帶 www 的 A 網址的重定向到 B 網址,主機記錄填寫 www,記錄值填寫 B 網址,第二條是把不帶 WWW 的 A 網址重定向到 B 網址,主機記錄填寫 @,記錄值填寫 B 網址。透過這兩條記錄,就可以把不帶 WWW 和帶 WWW 的 A 網址重定向到 B 網址了。

這個方法絕大多數人都可以使用,而且不需要空間的支援,希望這篇文章對大家有所幫助,筆者在此只是起到一個拋磚引玉的作用,不足之處還望大家批評斧正。