If you have NameVirtualHost on, you have to use the IP. NameVirtualHost is needed if you are running SSL, or running VirtualHosts on different IP addresses.
<VirtualHost 172.16.4.1:80> DocumentRoot /var/www/html/secure ServerName secure.com Redirect / https://secure.com</VirtualHost><VirtualHost 17.16.4.1:80> DocumentRoot /var/www/html/notsecure ServerName notsecure.com</VirtualHost>