註冊網域後,經常需要實現不同的二級網域存取網站的不同節點
一般網域註冊機構提供了cname的解析方式,可以吧二級網域定義到不同ip。
例如
www.abc.com 指向主節點 1.2.3.4
bbs.abc.com 指向 1.2.3.4/bbs 或另一個ip
但是網站如果租用主機空間,蛋疼的問題也來了網站只有一個ip,而且網站是租用的託管空間,不是託管主機,不能直接設定不同的訪問節點,託管空間只能設定空間商提供的一個入口網址
也就是網站只有一個入口,二級域名不能直接解析到不同的子目錄
利用php的程式碼可以解決這個問題,
思路
1. 定義不同二級域名,指向同一個網站入口
2. 在網站入口的首頁index. php,判斷使用者輸入的域名,然後重新導向到網站子接點
php全域變數$_SERVER['HTTP_HOST'] ,可以取得使用者目前造訪的網域字串,在這裡面查詢自己定義的各個子網域字串,然後使用header函數重新導向到不同的頁面
程式碼如下
if( strpos($_SERVER['HTTP_HOST'],"china") !== false ) // 注意一定要用!== 不能用! =, 否則不能區分false和0
{//
header('location:/china/indexphp');
}elseif( strpos($_SERVER['HTTP_HOST'],"bbs") !== false )
{
header('location:/bbs/forum.php');
}
else
{//顯示首頁
header('location:/templets/default/index.htm');
}