1. 程式人生 > >使用php解析實現二級域名重定向

使用php解析實現二級域名重定向

註冊域名後,經常需要實現不同的二級域名訪問站點的不同節點

一般域名註冊機構提供了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');
}