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 和其他类似服务如何立即创建子域,即立即可用?的主要内容,如果未能解决你的问题,请参考以下文章