Como você está definindo NameVirtualHost *:80
em seu httpd.conf
, a única definição VirtualHost que você tem está sendo usada ao conectar-se via IP.
Coloque o seguinte em /etc/httpd/conf/httpd.conf
(no final) ou em um novo arquivo chamado /etc/httpd/conf.d/000-default.conf
:
<VirtualHost *:80>
DocumentRoot /var/www/html
ServerName servername.host.com
ServerAlias *.servername.host.com
<Directory "/var/www/html">
Options Indexes FollowSymLinks
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Em seguida, reinicie o Apache e veja se isso é correto.
O importante é ter em mente que a definição do VirtualHost que você quer que seja o padrão deve ser definida antes de qualquer outra definição do VirtualHost.