【问题标题】:How does wordpress.com and other similar services create a subdomain instantly, that is instantly available?wordpress.com 和其他类似服务如何立即创建子域,即立即可用?
【发布时间】:2010-11-12 14:28:15
【问题描述】:

我对子域和 dns 记录几乎一无所知。我听说过它们,我只知道基础知识。

实际上,在我的服务器上,我确实在 plesk 下创建了子域,然后联系我的主机以创建正确的 dns。并且在 1-2 天内,子域可以从任何地方访问(plesk 可以自动管理 dns,我知道,但因为我不知道 dns 究竟是如何工作的,我更愿意让我的主机处理它们)

但是.. 当您在 wordpress.com、posterous.com 等网站上注册时,他们会创建一个像 http://yourname.service_name.com 这样的子域,它会在几秒钟内准备好......如何?

我知道这可能是一个很难回答的问题,因为我的无知我不知道如何更好地提出这个问题-.-

哦,如果有帮助的话,我的环境一定是linux(其实是debian)

【问题讨论】:

    标签: hosting dns subdomain


    【解决方案1】:

    大多数人通过使用Wildcard DNS Record 来实现这一点,这给人一种立即创建子域的感觉。


    一旦你有了这样的通配符 DNS 设置:

     *.example.com          A     77.75.105.197
    

    您需要告诉 Apache 您希望所有子域都被虚拟主机捕获,您可以使用 ServerAlias 执行此操作:

    ServerAlias *.example.com
    

    在 PHP 中,您可以查看 $_SERVER["SERVER_NAME"] 以找出已用于访问虚拟主机的子域,然后您可以拥有子域特定的代码/内容。 p>

    【讨论】:

    • 好的。也许我已经理解了……关于它的一些事情;)似乎我必须联系我的主人来实施这个解决方案,我很神圣地去做我不知道如何管理的事情^^
    • 我对 Plesk 的理解是您可以使用 Web 界面添加通配符 DNS 记录,但您需要手动编辑 apache 配置以添加 ServerAlias。您的托管服务提供商为您连接这个应该没有问题 =)
    • 您知道他们如何实现“自定义域”,例如您输入“foo.co.uk”作为您的自定义域,然后指向 foo.bar.co.uk?
    • en.support.wordpress.com/domain-mapping - 看来您需要将域名移动到他们的 DNS 服务器。
    【解决方案2】:

    pastebin.com 的做法如下:

    • 通配符 DNS 记录指向网络服务器 IP 处的所有子域
    • apache 会将所有对“未知”域的请求发送到第一个虚拟主机——你使该主机上的代码能够对域名做一些有趣的事情(在 PHP 中,这表示为 $_SERVER['HTTP_HOST']

    这样,不需要重新配置 DNS 或 Apache。

    【讨论】:

      【解决方案3】:

      Wordpress 不创建子域,甚至无法创建子域,因为这是 apache 虚拟主机配置文件的一部分。

      创建子域的唯一方法是创建另一个虚拟主机记录,将其添加到 DNS 记录中,但刷新 DNS 服务器需要 24 小时。 Plesk 和其他控制面板可以做到这一点,但 Wordpress 不能,因为它只是 PHP 脚本,可能甚至没有权限执行此类操作。此外,您没有指定配置文件的位置,因此 Wordpress 无法知道虚拟主机的位置:)

      请告诉我们更多关于 Wordpress 子域的信息,您在哪里创建它们等等。

      【讨论】:

      • 我知道管理子域的不是 wordpress(如 php cms),我对它背后的引擎很感兴趣;)
      • 如果我理解正确的话,他指的是 wordpress.com 服务,而不是 wordpress CMS。
      • 无论如何,以 wordpress 为例,如果你在 wordpress.com 上注册,他们会给你一个 thenameyouchose.wordpress.com.. blogspot 下的博客,liveournal 等等......
      • 好吧,然后他们使用上面提到的通配符子域,然后后端处理翻译。
      • +1 仅仅是因为答案完全正确。这是不清楚的问题。
      【解决方案4】:

      另外请注意,您可以通过。 Apache 对其进行了设置,因此它在传入的主机名上使用正则表达式,并通过此设置的文档根目录为:

      /var/www/topleveldomain.com/subdomain/wwwroot
      

      这会给人一种错觉,即配置文件发生了变化,所有的黑魔法让 mysubdomain.topleveldomain.com 成为一个新的子域,只需在正确的位置创建一个文件夹。

      另请注意,这与 DNS 记录中的星号别名有关。

      但是,我怀疑 wordpress 是如何做到的,而 Paul Dixon 提到的方式可能更有可能。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-01-30
        • 1970-01-01
        • 1970-01-01
        • 2015-02-10
        • 2015-02-09
        相关资源
        最近更新 更多