2012-01-29 47 views
4

我有一個系統,用戶可以輸入自己購買的域名到他們的個人資料,因此訪問其域名時,就應更換自己的自定義域,例如如何讓用戶自定義域在PHP

http://domain.com/custom-namehttp://purchaseddomain.com

所以當他們進入他們的購買域名,就應該帶他們去他們的個人資料包括他們的導航鏈接,比如他們的頁面上的鏈接將其購買的域名來代替,例如查看他們的記錄是:

http://domain.com/custom-name/recordshttp://purchaseddomain.com/records

的tumblr啓用該功能,但我不知道這一切是如何工作的:

enter image description here

這正是我想有這樣一個特點,我搜索的SO,但它似乎沒有幫助。

現在,這是一個問題,我不知道我怎麼可以驗證,確認和使用PHP他們購買的域名合併到我的服務器沒有問題 - 我用笨這一點。

是否有一個堅實,穩定的插件/庫或詳細的教程,可以有啓用自定義域掩蓋內部域的能力嗎?

我的服務器是nginx的1.0.6運行Ubuntu 11.10。

的模板將是對我蠻好,我可以做的 - 所有我需要幫助的是如何安全地接受和他們的域合併到我的服務器。


編輯:只是看着nginx的VirtualHostExample,這看起來不錯,但整體我怎麼就能動態地添加/刪除這些域條目而域有一個A記錄指向我的服務器?

+0

通常,您可以通過編程方式在您使用的任何模板設置中生成您的URL,而不是''你會擁有''。 – Amber 2012-01-29 22:01:05

+0

那麼這很大程度上取決於你的設置以及你如何創建/設置他們的賬戶,但['dns_get_record()'](http://php.net/dns_get_record)可能對你有用。 – animuson 2012-01-29 22:04:34

+0

在apache上,你會爲域創建一個虛擬主機並指向'./ custom-name'文件夾加上一個A檢查(後端nslookup) – 2012-01-29 22:06:11

回答

2

您不會將其域名合併到您的服務器。

事實上,當他們將自己註冊域名,他們將使它指向您的服務器。

在您的服務器配置上,您必須動態創建規則,隱含將頁面重定向到您在服務器上創建的規則。

因此,用戶將看到http://purchaseddomain.com/on-uri但你所服務的頁面http://domain.com/custom-name/one-uri

IE: 這就像如果你添加上一個.htaccess - 即使你不使用Apache,它只是解釋什麼是「系統「必須是:

RewriteCond %{HTTP_HOST} purchaseddomain\.com$ [NC] 
RewriteRule (.*) /custom-name/$1 
+0

我沒有使用Apache,我使用nginx,看看我最近的編輯。 – MacMac 2012-01-29 22:17:26

+4

我說「這就像」,我不能爲你做,我只是「告訴你的方式」,你將不得不做一些研究。嘗試自己搜索如何動​​態定義rewriterule。 – dievardump 2012-01-29 22:20:01

+0

也許嘗試閱讀此:http://serverfault.com/questions/332804/nginx-dynamic-virtual-hosts – dievardump 2012-01-29 22:24:30

-1

這是爲我工作:

server { 
    server_name *.mydomain.com 
    root  /var/www/$host; 

    ... 
} 

然後,你需要做的目錄裏ke:/var/www/user1.mydomain.com/,/var/www/user2.mydomain.com/,...

我想不出如何將'.mydomain.com'離開目錄名稱。如果任何人有任何想法,請讓我知道:)

相關問題