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

Mac*_*Mac 5 php dns codeigniter nginx

我有一个系统,用户可以在其中将购买的域名输入到他们的个人资料中,因此在访问其域名时,它应该替换其自定义域名,例如

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

因此,当他们访问其购买域时,应将其带到其个人资料,包括其导航链接,例如页面上的链接将被其购买域替换,例如查看其记录将是:

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

Tumblr启用了此功能,但是我不知道这一切如何工作:

在此处输入图片说明

我一直在搜索SO,这正是我希望拥有这样的功能的方法,但是它似乎没有帮助。

现在这是一个问题,我不确定如何使用PHP可以毫无疑问地验证,确认并将其购买的域合并到服务器中-我正在使用Codeigniter。

是否有扎实,稳定的插件/库或详细教程,可以启用对内部域进行屏蔽的自定义域?

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

模板对我来说很好,我可以做-我需要帮助的是如何安全地接受并将其域合并到我的服务器。


编辑:只是看着nginx VirtualHostExample,整体上看起来不错,但是当域中有A指向我的服务器的记录时,我如何能够动态地添加/删除这些域条目?

die*_*ump 3

您不会将他们的域合并到您的服务器。

事实上,当他们注册域名时,他们会将其指向您的服务器。

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

因此,用户会看到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
Run Code Online (Sandbox Code Playgroud)

  • 我说“这就像”,我不能为你做,我只是“给你指路”,你必须做一些研究。尝试自己搜索如何动​​态定义rewriterule。 (4认同)