【问题标题】:Handle multiple sites through subdomains通过子域处理多个站点
【发布时间】:2015-09-23 14:06:08
【问题描述】:

我正在尝试通过创建自己的 CMS 基础架构来提高我的 PHP 技能,这可能基于 FuelPHP 之类的轻量级框架。
因为我认为最好有一个目标,我想利用这个机会建立一个多站点CMS。

这将是一个游戏的 CMS。
基本上,这里的工作流程:

有人在主站点 (http://www.mainsite.com) 上创建一个帐户,然后为他的服务器创建一个站点 (http://my-beautiful-server.mainsite.com)。然后,来自他服务器的人会来到子域并注册以与论坛、图库、更新他们的帐户等进行交互。

使用子域是正确的方法吗?
如果我为我的 DNS 使用通配符,必须如何配置虚拟主机以根据子域重定向到正确的文件夹?我可以不为每个站点使用文件夹系统,并且只使用一个应用程序来处理所有事情,只需将子域作为变量“传递”给应用程序以告诉它我在哪个站点上吗?靠谱吗?

如果将来我想提出自定义域名,这种方法是否可行?我只需要自己处理域名注册并添加虚拟主机配置以重定向到正确的文件夹吗?

我对正确和最可靠的方法有点迷茫。

今天我有域名,我会拿一点VPS进行测试。

非常感谢任何帮助引导我朝着好的方向前进,并为我的英语不好感到抱歉,我在互联网上找不到资源。

【问题讨论】:

    标签: php dns content-management-system subdomain


    【解决方案1】:

    使用子域是正确的方法吗?

    这是一种完全可以接受的方法。

    如果我为我的 DNS 使用通配符,必须如何配置虚拟主机以根据子域重定向到正确的文件夹?

    您使用默认虚拟主机来捕获对不同主机名的所有请求。

    然后,您可以使用 mod_rewrite 或通过在应用程序级别检查请求的主机名来随机播放它们。

    我是否可以不为每个站点使用文件夹系统,只使用一个应用程序来处理所有事情,只需将子域作为变量“传递”给应用程序以告诉它我在哪个站点上?靠谱吗?

    是的。

    您的 PHP 已经可以通过 $_SERVER['HTTP_HOST'] 使用该变量。

    如果将来我想提出自定义域名,这种方法是否可行?

    是的。就网络服务器而言,域名和子域之间没有实际区别。

    我只需要自己处理域名注册并添加虚拟主机配置以重定向到正确的文件夹吗?

    您甚至不需要特定的虚拟主机配置。您的默认值就足够了。

    【讨论】:

    • 非常感谢,这真的让人放心。我将尝试使用通配符和虚拟主机通过一个应用程序处理所有事情。我有点害怕使用 $_SERVER 来处理像“站点名称”这样明智的事情,例如是否可以通过 htaccess 将其放入 $_ENV 中?而且我不确定自定义域名问题,但我稍后会看到。
    猜你喜欢
    • 2014-11-07
    • 2015-12-06
    • 2014-12-04
    • 1970-01-01
    • 1970-01-01
    • 2011-06-11
    • 1970-01-01
    • 2019-12-01
    • 2016-03-22
    相关资源
    最近更新 更多