【问题标题】:Seamlessly direct multiple domains to a single set of PHP files?将多个域无缝定向到一组 PHP 文件?
【发布时间】:2010-02-04 05:39:27
【问题描述】:

我需要将多个域定向到一组 (PHP) 文件。所以我在我的服务器上指向一个域,然后转到一个 index.php 文件。这个 index.php 文件然后检测访问它的域并返回适当的内容。我不想手动添加域或设置站点,因为这是用于内容管理服务。所以这应该是用户注册的情况,它可以立即工作,而无需我手动执行任何操作。文件集也必须只存在一次,因此可以轻松地将更新应用到每个人。

我目前使用共享主机,但我认为我可能需要迁移到 VPS(运行 Apache)来实现这一点。

我该怎么做?

谢谢

【问题讨论】:

  • 这对于服务器故障可能会更好。

标签: php apache


【解决方案1】:

除非我遗漏了您要执行的操作,否则简单的CNAME DNS 记录可能会起作用。只需将新域CNAME 到您现有的“主”域

但是,如果您需要知道使用共享主机请求了哪个域,这可能无法正常工作。问题是您还必须设置托管帐户以接受来自新域的请求。这似乎是您要避免的。

如果是这种情况,您将需要静态 IP,以及 Apache 设置以接受通配符域并将它们传递给您的应用程序(本例中的 index.php案子)。您可能不需要 VPS,只需要一个相对可配置的共享主机帐户。

更新:要使其在共享主机上运行,​​请查看Apache VirtualHost directive。这就是 Apache 用来设置(等待它)“虚拟”Web 服务器(文档根目录、日志等)的方法,允许单个服务器托管多个站点。另请查看Named Based Virtual Hosting,您需要一个以这种方式进行虚拟托管的帐户。

【讨论】:

  • 哦,我没有意识到有一个特定于服务器的 stackoverflow 等价物!如果我在这里找不到答案,我也会在那里问。是的,我试图避免在我的经销商主机上设置单独的帐户。与其说是创建帐户(有一个 API),不如说我每次都必须手动上传和安装站点文件。你有关于如何为通配符域设置 Apache 的链接吗?我目前只能找到子域的。
  • 我可能应该改写一下,我更像是一个程序员而不是系统管理员 - Apache 不需要为特定域进行配置,它可以响应任何传入的 HTTP 请求。当然,这意味着服务器 IP 只属于一个实体。这并不难,并且(我相信)是 Apache 安装的默认配置。因此,您可以在帐户上使用静态 IP 的共享主机上执行此操作。你只需要问我猜的主人。
【解决方案2】:

“所以这应该是用户注册的情况,它可以立即运行,而无需我手动执行任何操作”......所以你想要魔法。无论如何,域都指向一个目录,因此只需将所有域指向同一个目录即可。 PHP 可以检查完整的 URL,因此您可以使用它来选择内容。 如果您使用的是 Joomla 之类的东西,您也许可以自定义起始扩展。例如,所有 joomla 内容都存储在名为 jos_XXX 的表中。 理论上应该可以修改为基表是domain_com_XXX 也许吧,但你真的需要为此找到一个好的程序员,我不知道有什么系统可以开箱即用。也许其他人可能知道一个。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-01
    • 2021-09-24
    • 2012-08-13
    • 1970-01-01
    • 2012-03-14
    • 2016-01-03
    相关资源
    最近更新 更多