2014-04-01 38 views
2

所以我剛開始用codeigniter構建一個新的應用程序。我想要做的是以下幾點。子域自動指向

有一個自動生成的字符串存儲在數據庫中- 得到了這部分內容。

// Auto Generated String  
gc149354 

分享添加到我的正常域名的電子郵件客戶端自動生成的字符串 - 得到了這個部分,以及覆蓋。

// Appended to the domain name 
http://gc149354.mycoolurl.com 

這一切是非常標準的PHP和笨編碼。但是,它變得棘手的地方實際上是讓那個用戶在某處指引用戶。

我希望它將客戶端指向名爲newsite.php的代碼控制器,該代碼存儲在controllers/new-site/newsite.php中,控制器將處理所有事情。

我在想我會在我的目錄的根目錄下需要.htaccess。也許像這樣:

RewriteEngine On # Turn on the rewriting engine 

RewriteRule  (gc[0-9]+)/  /get-started [NC] 

除了呼籲mycoolurl.com/gc149354而不是gc149354.mycoolurl.com吧?

那麼我怎樣才能路由所有以gc開頭的子域,然後由6個數字1-9路由到codeigniter中的getstarted控制器?

回答

0

你指的是這樣的:

RewriteEngine On 
RewriteCond %{HTTP_HOST} !^www\. [NC] 
RewriteCond %{HTTP_HOST} ^(gc[0-9]+)\.mycoolurl\.com$ [NC] 
RewriteRule ^/?$ /controllers/new-site/newsite.php?sub=%1 [L,QSA] 

與「子」 GET參數將被給予子域名字符串。或者,如果您的控制器可以查看子域,則可以刪除?sub=%1部分。

+0

我得到'he URL'gs87984.the-green-panda.org「無效」,它被重定向到我的互聯網提供商cox的頁面。 – user3367639

+0

我需要在我的域名上創建一個「通配符子域名」嗎? – user3367639

+0

@ user3367639是的,如果你沒有設置網站接受'* .mycoolurl.com',那麼服務器將不會接受這些請求。 –