Host virtual do Apache com base no CNAME

2

Posso fazer um vhost no apache para responder a uma solicitação de cname? Por exemplo:

Um registro de example.com é 1.2.3.4
foo.example.com é um CNAME para example.com

no http.conf:

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

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

O apache começa bem e digere o meu conf, mas quando eu visito o foo.example.com recebo o conteúdo em / var / www, não o em / foo / www. Eu acho que estou no caminho errado aqui.

    
por accidental admin 20.12.2009 / 06:55

3 respostas

4

O snippet a seguir deve funcionar (sem nenhum aviso):

NameVirtualHost *:80

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

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

Certifique-se de ler a documentação do Suporte ao host virtual baseado em nome para entender porque não funcionou em primeiro lugar.

    
por 20.12.2009 / 12:36
0

Eu trabalhei assim:

NameVirtualHost _default_:80

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

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

Embora isso dê um aviso no início http:

[warn] NameVirtualHost _default_:80 has no VirtualHosts
    
por 20.12.2009 / 07:30
0

Você tentou adicionar o número da porta no foo.example.com vhost?

ou seja:

<VirtualHost foo.example.com:80>
    ServerName foo.example.com
    DocumentRoot /foo/www
</VirtualHost>
    
por 20.12.2009 / 11:15