虚拟主机的文档根目录select

我正在调查基于名称的虚拟主机在apache下的configuration,用于configuration主域及其子域。 我在网上find了一个例子 ,build议如下configuration:

Listen 80 NameVirtualHost * <VirtualHost *> ServerName www.domain.com DocumentRoot /home/httpd/htdocs/ </VirtualHost> <VirtualHost *> ServerName subdomain.domain.com DocumentRoot /home/httpd/htdocs/subdomain/ </VirtualHost> 

这是有道理的,直到DocumentRoot指令。 我是否正确地说,让一个虚拟主机的文档根,另一个虚拟主机的后裔是不明智的? 这种configuration是否意味着“子域”目录将服务器上的内容在两个域?

这个例子将工作。 但是, http://www.example.com/subdomain/上的内容将与http://subdomain.example.com/相&#x540C;

我会使用的是:

 <VirtualHost *> ServerName www.example.com DocumentRoot /home/httpd/www.example.com/htdocs/ </VirtualHost> <VirtualHost *> ServerName subdomain.example.com DocumentRoot /home/httpd/subdomain.example.com/htdocs/ </VirtualHost> 

有时能够访问domain.com/subdomain直到新子域的dns变为活动状态为止是有利的。 此示例configuration是许多控制面板的默认configuration,除非您有其他特殊需求,否则实际上并不会造成任何伤害。

您可以随时添加.htaccess mod_rewriteconfiguration,确认http_host为subdomain.domain.com,如果不是,请执行redirect,如果您不希望用户能够以此方式访问。 (如果你不是服务器pipe理员,这真的是你唯一的select,控制面板以这种方式展示你的文档根目录)