Php 如何屏蔽URL';s类似于cloudapp,因此用户可以在;他们的";服务器

Php 如何屏蔽URL';s类似于cloudapp,因此用户可以在;他们的";服务器,php,Php,我计划建立一个网络应用程序,用户可以在其中展示他们的数据。我希望我们的用户能够在自己的网站上展示它,就像cloudapp一样。您可以设置自己的域名,但仍然使用应用程序的托管服务 所以我的服务是http://example.com/showoff但我希望用户可以选择使用http://showoff.example.net查看他们的数据 我计划用PHP来做,但如果要构建这种服务,我愿意听取建议。他们必须将showoff.usersite.com的DNS条目指向您的服务器。您可以从$\u服务器变量中读

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

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


我计划用PHP来做,但如果要构建这种服务,我愿意听取建议。

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

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

您有两个基本选项:“showoff.acme.com”或“acme.showoff.com”。这两方面我都做过

对于“shooff.acme.com”:

  • 客户需要在其DNS中设置一个指向showoff.com的CNAME条目。向客户解释如何做到这一点并不琐碎,除非你有一个小的、高收入的客户群,否则没有多大商业意义
  • 您将需要配置一个Apache virtualhost来回答所有域的所有请求(不仅仅是shodowf.com)
  • 除非为每个客户配置virtualhost、IP和证书,否则不能使用SSL。(痛!)
对于“acme.showoff.com”:

  • 您需要将*.shooff.com指向服务器的IP(这是否容易取决于您的DNS提供商);如果无法执行此操作,则需要为每个客户创建DNS记录
  • 您将需要配置一个Apache virtualhost来回答对*.showoff.com的所有请求
  • 您可以使用for*.shooff.com的
在这两种情况下,您都可以在PHP中找到使用
$\u服务器['HTTP\u HOST']
请求的域。您需要对照您的已识别域数据库检查此项,以确定要显示的客户数据


正如您所看到的,大部分工作是在DNS和Apache中完成的;无论您使用PHP还是其他语言,这都无关紧要。

感谢您的快速反应,您有什么信息可以让我了解更多信息吗?Mark刚刚解释了可能的实现,因为我读对了您的问题,您需要第一个列表,这意味着您不必在服务器设置方面做太多工作。尽管有一件事需要考虑:你需要一个专用的IP。Doing username.yoursite.com比yoursite.usersite.com更容易实现-你可以控制*.yoursite.com,而客户可以控制*.usersite.com。在他们控制的域上执行此操作意味着您必须向他们提供有关如何在其DNS服务器上设置CNAME条目的复杂说明。