我相信做網站的人都瞭解過 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 重定向
這個方法是我今天要強烈推薦的,主要是因為這個方法非常的簡單,但是效果卻是一樣可以達到。請看下圖

在上圖中有四個參數,我們需要用到的主要有 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 網址了。
這個方法絕大多數人都可以使用,而且不需要空間的支持,希望這篇文章對大家有所幫助,筆者在此只是起到一個拋磚引玉的作用,不足之處還望大家批評斧正。