自动创build子域(xyz.serverfault.com)

自动创build子域名的最佳方式是什么(如Basecamp )?

我的要求有点类似于Basecamp,用户从一个页面请求一个子名,并从我的业务逻辑为他们创build它。

就像是 替代文字

我们在我们的网站使用相同的技术。 我们的服务器在Linux上运行Apache,MySQL和PHP。

我们的DNSlogging包含像EK这样的子域通配符条目:

www IN A 123.456.789.012 * IN CNAME www 

这将把所有的请求redirect到xyyourdomain.com到www.yourdomain.com相同的IP – 也可以有子域名的子域名。

我不知道Perl,但在PHP中,您可以随时访问主机名,如下所示:

 $_SERVER['HTTP_HOST'] 

我相信在Perl中有一个相当于访问HTTP-Request的主机头的东西。 我们使用一个中央的PHP脚本文件来达到这个目的。

编辑:find一些时间来提供处理这些域的更多细节。

您可以将完整的子域名保存为数据库中的主键。 这保证了用户input的域名是唯一的。 您也可以在注册用户时使用此信息进行可用性检查。

我想你的应用程序可以处理多个用户通过用户ID或sommething这样的。 只需将此用户标识与子域一起保存在数据库中即可。 现在,您可以随时通过HTTP-Host标头查找当前域的用户标识。

在您的域名* .yourdomain.com上设置通配符。 然后,在代码中,所使用的服务器名称位于标题中,只需根据需要阅读即可提供定制内容或redirect到子文件夹。