使用php解析實現二級域名重定向
阿新 • • 發佈:2019-02-06
註冊域名後,經常需要實現不同的二級域名訪問站點的不同節點
一般域名註冊機構提供了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');
}