wordpress.com 和其他类似服务如何立即创建子域,即立即可用?

Posted

技术标签:

【中文标题】wordpress.com 和其他类似服务如何立即创建子域,即立即可用?【英文标题】:How does wordpress.com and other similar services create a subdomain instantly, that is instantly available? 【发布时间】: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)

【问题讨论】:

【参考方案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 提到的方式可能更有可能。

【讨论】:

以上是关于wordpress.com 和其他类似服务如何立即创建子域,即立即可用?的主要内容,如果未能解决你的问题,请参考以下文章

如何爬取所有wordpress页面

定时器标志立即设置(类似)

我如何从wordpress.com下载该网站的代码文件?

怎么优化wordpress网站

如何使用非立即输入进行类似于 _mm_extract_epi8 的操作?

我可以在不重新创建任何内容的情况下立即将片段移动到其他地方吗?