Apache的默认主机

问题描述:

我的Apache2,它的文档根目录结构为:Apache的默认主机

/var/www/html 
---index.html 
---example.com 
------/index.html 

我想my-site.com所有请求指向example.com/index.html和所有其他请求送达from /var/www/html

这里是我的配置:

<VirtualHost _default_:80> 
    DocumentRoot /var/www/html 
</VirtualHost> 

<VirtualHost *:80> 
    ServerName my-site.com 
    DocumentRoot /var/www/html/example.com 
</VirtualHost> 

但是,所有的请求都来自Apache的文档根目录服务。

感谢您的任何帮助。

+0

我相信Apache有一个文档根的概念,我可能是错的。如果你希望my-site.com的东西来自其子目录,而不是为mysite创建一个别名,那么http:// localhost:80/mysite会为你提供mysite的内容,而http:// localhost: 80 /将从“var/www/html”目录中提取。 HTH – 2013-04-10 20:39:51

在第二个虚拟主机之前,您需要在配置中的某个位置使用NameVirtualHost指令。

<VirtualHost _default_:80> 
    DocumentRoot /var/www/html 
</VirtualHost> 

NameVirtualHost *:80 

<VirtualHost *:80> 
    ServerName my-site.com 
    DocumentRoot /var/www/html/example.com 
</VirtualHost> 
+0

谢谢,但Apache仍然提供来自/ var/www/html的所有请求 – 2013-04-11 05:03:34

+0

修正thnx需要将NameVirtualHost *:80置于虚拟主机声明的顶部。 – 2013-04-11 09:16:24