无法获得www cname在Apache中工作和绑定

在Cent OS 6上,apache 2.2绑定9.7.3我无法让我的域用www cname加载。 如果我inputexample.com,则加载正常,但www.example.com会从/ var / www / html加载我的主apache目录

这是我在httpd.conf中的:

NameVirtualHost *:80 <VirtualHost *:80> DocumentRoot "/var/www/html/_domains/example.com" ServerName example.com </VirtualHost> <VirtualHost *:80> DocumentRoot "/var/www/html/_domains/example2.com" ServerName example2.com </VirtualHost> <VirtualHost *:80> DocumentRoot "/var/www/html" ServerName 94.00.00.00 </VirtualHost> 

example.com的区域文件如下所示:

 $ttl 38400 example.com. IN SOA example.com. webmaster.example.com. ( 1326544028 10800 3600 604800 38400 ) example.com. IN NS ns1.example.com. example.com. IN NS ns2.example.com. ns1.example.com. IN A 94.00.00.00 ns2.example.com. IN A 94.00.00.00 example.com. IN A 94.00.00.00 mail.example.com. IN A 94.00.00.00 www.example.com. IN CNAME example.com. example.com. IN MX 10 mail.example.com. 

为什么www.example.com会加载默认的html目录/var/www/html而不是/var/www/html/_domains/example.com

那是因为你没有在你的虚拟主机中包含www。 所以Apache不知道你在说什么。 所以你还需要添加一个ServerAlias:

 <VirtualHost *:80> DocumentRoot "/var/www/html/_domains/example.com" ServerName example.com ServerAlias *.example.com </VirtualHost> 

你需要的行:

 ServerAlias www.example.com ServerAlias www.example2.com 

看来你需要ServerAlias指令。 那么,你的虚拟主机定义应该是这样的:

 <VirtualHost *:80> DocumentRoot "/var/www/html/_domains/example.com" ServerName www.example.com ServerAlias example.com *.example.com </VirtualHost> 

欲了解更多信息,你可以看到 。