NameVirtualHost *:80 or something similar isn't already in your config files, it will have to be. This is necessary when your VirtualHosts are using the same IP address and port (which yours are). This tells Apache that it should use the Host: header in the HTTP request to choose which VirtualHost should handle that request.
You must also have a ServerName directive in each VirtualHost if you are using NameVirtualHost. This is what Apache matches the Host: header to. The ServerName directive cannot contain the * character. The ServerName must match your domain exactly. If you want to match www.devhouse.nl as well as devhouse.nl then you will need a ServerAlias directive. You can have as many ServerAlias directives as you like but only one ServerName.
A VirtualHost with the above in it would match an HTTP request that was sent to one of those three domains. Any other request will go to the default VirtualHost.
The first VirtualHost listed in the config files will become the default VirtualHost. This is the one that will handle a request if it doesn't match any other VirtualHost. If you want the one you have listed second to be the default, you will have to swap them around in the file.
The Apache documentation on this is quite good: http://httpd.apache.org/docs/2.2/vhosts/examples.html
You can have Apache list your VirtualHosts and what order they come in with the command
apachectl -S (That's a capital S)
Include at the end looks rather odd. Is the first part of the listing the contents of that included file ?
In case all of that is too much to take in at once, what you need to do here is:
- Swap the two VirtualHosts around.
NameVirtualHost *:80 before both of them.
- Get rid of
*. from the ServerName directive or replace it with
www. It doesn't matter exactly what goes in the default VirtualHost as long as it is a domain you want to match.
- Add a ServerName directive and optionally some ServerAlias directives to the second VirtualHost.