如何创建像37signals这样的帐户系统,即:
每个用户都会获得一个独立的网址。 user.domain.com 每个用户都可以添加一定数量的用户:
当他们为帐户分配资源时,您认为它是在一个数据库中还是为每个帐户创建一个单独的数据库?
答案 0 :(得分:2)
您可以对用户子域使用以下两种方法之一 - 您可以使用HTAccess重写规则将子域转移回加载其帐户的.php?sub =用户页面 - htaccess redirect subdomain to domain 或者(如果您使用的是CPanel Hosting)有关于如何使用PHP和cURL自动创建和指向子域的示例 - http://www.zubrag.com/scripts/cpanel-subdomains-creator.php
虽然我不确定37signals数据库是如何工作的,但我怀疑他们为每个用户创建了一个新数据库 - 更像是他们只是链接索引上的多个表。如果以前不知道这些字段,那么您可以使用简单的EAV方案来允许用户定义自己的数据字段。
答案 1 :(得分:2)
我知道使用nginx,您可以设置默认的“服务器”(如果实际不存在,则所有子域重定向到一个文档根目录)。然后,由PHP脚本来解析主机头。使用这种虚拟主机设置,您将使用已存在的数据库。