为什么这个configuration在文档根目录下显示我的目录和文件?

<VirtualHost *:80> ServerAdmin [email protected] ServerName example.com ServerAlias example.com DocumentRoot /var/www/example/example 

当我在我的浏览器(如www.example.com)上打开网站时,它将列出/ var / www / example目录下的所有文件而不是页面!

但是,如果我使用ServerAlias www.example.com它工作正常只是想知道可能是什么问题?

当Apache httpd在HTTP / 1.1 Host头中接收到一个没有VirtualHost或根本没有Host头的Host时候,它会为它在configuration中遇到的第一个VirtualHost提供服务。

www.example.com目前没有在您的代码片段中configuration,所以Apache httpd将提供可能具有DocumentRoot /var/www/的默认VirtualHost

如果你想知道详细信息,你应该阅读虚拟主机匹配深入讨论 。