0

我计划构建一个网络应用程序,用户可以在其中展示他们的数据。我希望我们的用户能够在他们自己的网站上展示它,就像 cloudapp 一样。您可以设置自己的域名,但仍使用应用程序的托管服务。

所以我的服务是http://example.com/showoff,但我希望用户可以选择使用http://showoff.example.net他们的数据。

我打算用 PHP 来做,但如果涉及到构建这种服务,我愿意征求建议。

4

2 回答 2

1

他们必须将 showoff.usersite.com 的 DNS 条目指向您的服务器。您可以从 $_SERVER 变量中读取它,然后就可以了!将另一个域指向您的站点并尝试:print_R($_SERVER),您将看到指向您的域名。

于 2012-06-30T13:53:15.917 回答
1

假设您的域是“showoff.com”,他们的域是“acme.com”

您有两个基本选项:“showoff.acme.com”或“acme.showoff.com”。我已经做到了这两种方式。

对于“showoff.acme.com”:

  • 客户需要在其 DNS 中设置指向 showoff.com 的 CNAME 条目。向客户解释如何做到这一点并非易事,并且除非您拥有一个小而高薪的客户群,否则没有太大的商业意义。
  • 您需要配置一个 Apache 虚拟主机来回答所有域的所有请求(不仅仅是 showoff.com)
  • 除非您为每个单独的客户配置虚拟主机和 IP 和证书,否则您不能使用 SSL。(好痛!)

对于“acme.showoff.com”:

  • 您需要一个通配符 DNS 记录来将 *.showoff.com 指向您服务器的 IP(这是否容易取决于您的 DNS 提供商);如果您无法执行此操作,则需要为每个客户创建 DNS 记录。
  • 您需要配置一个 Apache 虚拟主机来回答对 *.showoff.com 的所有请求
  • 您可以为 *.showoff.com使用通配符 SSL 证书

在这两种情况下,您都可以在您的 PHP 中找出使用$_SERVER['HTTP_HOST']. 您将需要根据您的已识别域数据库检查这一点,以确定要显示的客户数据。

如您所见,大部分工作都在 DNS 和 Apache 中;使用 PHP 还是其他语言并不重要。

于 2012-06-30T14:10:06.310 回答