如何在PHP中启用用户自定义域

我有一个系统,用户可以在他们的个人资料中input他们购买的域名,所以当访问他们的域名时,应该replace他们的自定义域名,例如

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

因此,当他们访问他们的购买域时,应该把他们的个人资料包括他们的导航链接,比如他们页面上的链接将被他们购买的域取代,例如查看他们的logging将是:

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

Tumblr启用此function,但是我不知道这是如何工作的:

在这里输入图像说明

这正是我喜欢这样的function,我search了,但似乎没有帮助。

现在,这是一个问题,我不知道如何validation,确认并将他们购买的域名合并到我的服务器,而没有使用PHP的问题 – 我正在使用Codeigniter。

有一个稳定的,稳定的插件/库或详细教程,可以启用自定义域掩盖内部域的能力?

我的服务器在nginx 1.0.6上运行Ubuntu 11.10。

模板对我来说就好,我可以做 – 我需要帮助的是如何安全地接受和合并他们的域到我的服务器。


编辑:刚才看看nginx的VirtualHostExample ,这看起来不错整体,但我将如何能够dynamic地添加/删除这些域的条目,而有一个指向我的服务器的Alogging?

您不会将其域名合并到您的服务器。

事实上,当他们注册他们的域名时,他们会把它指向你的服务器。

在您的服务器配置上,您必须动态地创建规则, 隐式地将页面重定向到您在服务器上创建的页面。

因此,用户将会看到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 

这是为我工作的:

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

那么你需要制作目录:/var/www/user1.mydomain.com/,/var/www/user2.mydomain.com/,…

我不知道如何离开“.mydomain.com”目录名称。 如果有人有任何想法,请让我知道:)