3

Can I make a vhost on apache to respond to a cname request? For example:

A-record of example.com is 1.2.3.4
foo.example.com is a CNAME for example.com

in http.conf:

<VirtualHost *:80>
 ServerName example.com
 DocumentRoot /var/www
</VirtualHost>

<VirtualHost foo.example.com>
 ServerName foo.example.com
 DocumentRoot /foo/www
</VirtualHost>

apache starts fine and digests my conf, but when I visit foo.example.com I get the content in /var/www, not the one in /foo/www. I think I'm on the wrong track here.

5

The following snippet should work (without any warning):

NameVirtualHost *:80

<VirtualHost *:80>
  ServerName example.com
  DocumentRoot /var/www
</VirtualHost>

<VirtualHost *:80>
 ServerName foo.example.com
 DocumentRoot /foo/wwww
</VirtualHost>

Make sure you read the documentation on Name-based Virtual Host Support to understand why it didn't work in the first place.

  • 4
    For those visitors whose eye's may be glazed from reading hundreds of forum posts and irrelevant results from Google searches: The key part is including the "NameVirtualHost" directive that @joschi includes in his snippet above. Name-based virtual hosts don't work without a NameVirtualHost directive. – anschauung Mar 19 '10 at 20:43
  • If <VirtualHost secondary.ip:80> is present as well, you need a NameVirtualHost secondary.ip:80 as well. The NameVirtualHost *:80 does not cover it... (And <VirtualHost *:80> does not seem to work on the secondary IP for additional VirtualHosts) – Gert van den Berg Mar 22 '17 at 12:09
0

I got it working like this:

NameVirtualHost _default_:80

<VirtualHost _default_:80>
  ServerName example.com
  DocumentRoot /var/www
</VirtualHost>

<VirtualHost _default_:80>
 ServerName foo.example.com
 DocumentRoot /foo/wwww
</VirtualHost>

Although this gives a warning at http start:

[warn] NameVirtualHost _default_:80 has no VirtualHosts
0

Did you try adding the port number on the foo.example.com vhost ?

ie:

<VirtualHost foo.example.com:80>
    ServerName foo.example.com
    DocumentRoot /foo/www
</VirtualHost>

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.