現在的搜索引擎非常挑剃特別是百度,如果你的網站或博客不是很出名,那麼他在搜索你網頁的時候就要對比看看有沒有相同的內容,如果有他就不收錄了。所以對於小網站或個人博客如果域名改變那麼你就要通知搜索引擎,這樣搜索引擎才能進行調整和更換。
以我的實際操作為例:原來某會員的文章都存放在http://bkjia.com/blog/member/這個目錄中。這個member就是會員的名字,這樣有一百個會員就有一百個這樣的目錄。現在二級域名已開通,站內的所有鏈接已經變成了新開通的二級域名 http://member.bkjia.com/這種形式。同樣,member 也是不同會員的用戶名。我需要做的時怎樣通知搜索引擎,讓搜索引擎中原來那樣的鏈接改成開通二級域名後的鏈接,這樣的好處就是搜索引擎不會因為你的新域名下的文章和老鏈接下文章有雷同,而放棄對你新域名下文章的收錄。
<?php
//進行301重定向
$member="member";
$hywzdizhi="http://".$member."bkjia.com/";
$uri=$_SERVER[\'REQUEST_URI\'];
$amember="blog/$member/";
if (stristr($uri,"$amember")){
$pieces = explode("$amember", $uri);
$wangzhi = "$pieces[1]";
$tiaozhuan=$hywzdizhi.$wangzhi;
Header( "HTTP/1.1 301 Moved Permanently" ) ;
Header( "Location: $httptiaozhuan" );
}
?>
以上的命令就可以實現被訪問地址為原來的http://bkjia.com/blog/member/ 以及這個鏈接目錄中的所有網頁時。
不但自動跳到最已啟用的二級域名 http://member.bkjia.com/ 中,而且還通知了搜索引擎,把原來那個鏈接換成新的吧,原來的我不用了,這就是301重定向的規責。
簡單說一下上面代碼的原理。一、用$_SERVER[\'REQUEST_URI\']取到域名後的網址,如果網址中包含 blog/$member/ 則對網址進行拆分,取後面的鏈接放到准備好的 http://".$member."bkjia.com/ 這個二級域名下。二、發送301重定向命令,重定向的網址就是那個由二級域名開頭組合後的網址。上面的命令很簡單,根本沒用正則,希望對你有所幫助。