O primeiro *: 80 registro que o httpd vê para um VirtualHost se tornará o site padrão para *: 80. Por causa disso, se você inserir qualquer nome de host que não seja uma entrada válida de Nome_do_Servidor, ele será transmitido para a entrada do domínio2.
Você pode ajudar a parar esse comportamento especificando o seu site base "verdadeiro" como o primeiro *: 80 virtualhost na sua configuração.
É recomendável segmentar sites com um endereço IP específico individualmente, por exemplo:
NameVirtualHost 99.99.99.99:80
<VirualHost 99.99.99.99:80>
ServerName domain2.com
...
</VirtualHost>
Fazer o acima deve garantir que os sites com um endereço IP específico sejam atendidos a partir da entrada explícita do referido ip, em vez do padrão devido a "vitórias de configurações mais específicas".
Referência Aqui :
ServerName inheritance It is best to always explicitly list a ServerName in every name-based virtual host. If a VirtualHost doesn't specify a ServerName, a server name will be inherited from the base server configuration. If no server name was specified globally, one is detected at startup through reverse DNS resolution of the first listening address. In either case, this inherited server name will influenced name-based virtual host resolution, so it is best to always explicitly list a ServerName in every name-based virtual host.
For example, suppose that you are serving the domain www.example.com and you wish to add the virtual host other.example.com, which points at the same IP address. Then you simply add the following to httpd.conf:
<VirtualHost *:80>
# This first-listed virtual host is also the default for *:80
ServerName www.example.com
ServerAlias example.com
DocumentRoot /www/domain
</VirtualHost>
<VirtualHost *:80>
ServerName other.example.com
DocumentRoot /www/otherdomain
</VirtualHost>