我几乎了解子域和dns记录。我听说过他们,我只知道基本知识。
实际上,在我的服务器上,我确实在plesk下创建子域,然后联系我的主机以创建正确的dns。在1-2天内,子域可以从任何地方到达(plesk可以自动管理dns,我知道,但是因为我不知道dns是如何工作的,我更愿意让我的主机处理它们)
但是..当你在wordpress.com,posterous.com等上注册时,他们创建了一个像http://yourname.service_name.com这样的子域,几秒钟就准备好了......怎么样?
我知道这可能是一个难以回应的问题因为我的无知我不知道如何更好地提出问题 - .-
哦,如果它可以帮助,我的环境必须是linux(实际上是debian)
答案 0 :(得分:19)
大多数人通过使用Wildcard DNS Record来实现这一目标,这样可以立即创建子域名。
一旦你有这样的通配符DNS设置:
*.example.com A 77.75.105.197
您需要告诉Apache您希望虚拟主机捕获所有子域,您可以使用ServerAlias执行此操作:
ServerAlias *.example.com
在PHP中,您可以查看 $ _ SERVER [“SERVER_NAME”] 以确定用于访问虚拟主机的子域,然后您可以拥有特定于子域的代码/内容。
答案 1 :(得分:2)
以下是pastebin.com执行此操作的方式:
这样,不需要重新配置DNS或Apache。
答案 2 :(得分:0)
Wordpress不会创建子域,甚至无法创建子域,因为这是apaches虚拟主机配置文件的一部分。
创建子域的唯一方法是创建另一个虚拟主机记录,将其添加到DNS记录中,但刷新DNS服务器需要24小时。 Plesk和其他控制面板可以管理它,但Wordpress不能,因为它只是PHP脚本,可能甚至没有权限做那种东西。此外,您没有指定配置文件的位置,因此Wordpress无法知道虚拟主机的位置:)
请告诉我们有关Wordpress子域的更多信息,您可以在其中创建它们等。
答案 3 :(得分:0)
另请注意,您可以通过。 Apache进行了设置,因此它在incomming主机名上使用正则表达式,并通过这个set document root来实现:
/var/www/topleveldomain.com/subdomain/wwwroot
这可以给人一种错觉,即配置文件和所有黑魔法都有变化,只允许mysubdomain.topleveldomain.com成为新的子域,只需在正确的位置创建一个文件夹。
另请注意,这与DNS记录中的星号别名有关。
然而,我怀疑wordpress是如何做到的,保罗迪克森提到的方式可能更有可能。