1

我们提供博客平台,我们用通配符子域(aaa.testweb.com)分隔每个用户。如果他愿意,我们希望我们的用户能够切换到他的域 (www.aaa.com)。如何配置 Apache 服务器以支持以下场景?

请告知除了 httpd.conf 是否还有其他配置。

EX:
1. 去www.aaa.com显示aaa.testweb.com
的内容 (地址栏中的 URL 是www.aaa.com
2. 去www.aaa.com/content显示aaa.testweb的内容.com/content
(地址栏中的 URL 是www.aaa.com/content

4

1 回答 1

0

StackOverflow 上已经有很多关于这个主题的问题,但我还是会插话并加上我的两美分的价值。:) 根据我的经验,这应该可以解决问题...

在我介绍细节之前:简而言之,您需要做的是设置 Apache 在收到请求时提供哪些信息。我在这里假设无论您的客户使用您的子域之一还是他们自己的域,您的服务器仍将托管博客?在这种情况下,重要的部分是客户的 VirtualHost 指令中的 ServerName。

下面是使用示例 URI 的这两种情况的示例,首先使用子域:

<VirtualHost *:80>
ServerName aaa.testweb.com
DocumentRoot /public_html/customers/aaa_html
# Other directives here
</VirtualHost>

其次使用专用域名:

<VirtualHost *:80>
ServerName www.aaa.com
DocumentRoot /public_html/customers/aaa_html
# Other directives here
</VirtualHost>

在 DNS 方面,每个指向您的网络主机的相关子域都应该有一条 A 记录,以便“aaa.testweb.com”的请求能够访问您的服务器。您可以通过将 *.testweb.com 指向您的服务器来轻松完成此操作,但这会将该域上的所有子域请求路由到您的服务器;如果请求的子域不存在,则将提供默认域站点。

我可能在这里弄错了,但我认为根据需要为每个新子域设置自定义 A 记录将有助于从长远来看更好地控制情况。

如果客户想要从一个选项切换到另一个选项,则 Apache 服务器上唯一需要的更新是他们的 VirtualHost 的 ServerName 规则。DNS 记录将通过相关的域注册商进行配置。

于 2013-04-26T06:18:31.207 回答