我理解基于名称的虚拟主机(即,以不同的方式服务两个域名)和基于IP的虚拟主机(即服务两个IP的方式不同)
但…
我应该总是指定一个IP地址,还是可以使用*? 基于名称的虚拟主机的许多例子仍然指定IP地址。 为什么VirtualHost块和NameVirtualHost指令? 为什么我需要NameVirtualHost用于基于IP的虚拟主机?
我应该总是指定一个IP地址,还是可以使用*?
你可以在两个指令中指定*。
NameVirtualHost * <VirtualHost *> ...
为什么VirtualHost块和NameVirtualHost指令?
NameVirtualHost只定义您将使用名称虚拟主机的IP。 不包含其他指令,所以没有理由为什么应该阻止。 另一方面,VirtualHost包含特定虚拟主机的其他指令,所以它必须是一个块。
为什么我需要NameVirtualHost用于基于IP的虚拟主机?
你不需要它。 看例子 。
推荐阅读: Apache虚拟主机文档