在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>
欲了解更多信息,你可以看到 。