O VirtualHosts baseado em nomes do Apache e o problema "www" do DNS

1

Não sei como resolver o meu problema. É que o meu Apache2 está configurado para servir 3 VirtualHosts diferentes. Isso depende dos domínios.

A configuração é:

NameVirtualHost example.eu:80
<VirtualHost example.eu:80>
        DocumentRoot /var/www2
        ServerName www.example.eu
        # Other directives here
</VirtualHost>

NameVirtualHost example.de:80
<VirtualHost example.de:80>
    DocumentRoot /var/www3/drupal
    ServerName www.example.de
</VirtualHost>

NameVirtualHost test.de:80
<VirtualHost test:80>
    DocumentRoot /var/www1/drupal
    ServerName test.de
</VirtualHost>

Se eu for a www.example **. de ** eu chego no exemplo ** .eu ** (o primeiro VirtualHost configurado). Mesma coisa com test.de. Parece o www. é mal interpretado por essa configuração. O que eu tenho que fazer para fazer o Apache2 lidar com isso corretamente, para que com e sem "www". Eu chego onde quero - a cada vez. Todas as entradas de DNS vão para o mesmo IP do servidor Apache2. O servidor deve manipular as solicitações de acordo. Com e sem o prefixo "www".

Melhor ww

    
por www 13.10.2011 / 19:04

1 resposta

2

Você entendeu mal o que significa o nome do host na diretiva <VirtualHost> . Refere-se a um endereço IP onde o virtualhost "escuta" (o Apache pode resolver os nomes para o endereço IP). Por isso, recomendo uma configuração a seguir:

NameVirtualHost *:80
<VirtualHost *:80>
        DocumentRoot /var/www2
        ServerName example.eu
        ServerAlias www.example.eu
        # Other directives here
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot /var/www3/drupal
    ServerName example.de
    ServerAlias www.example.de
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot /var/www1/drupal
    ServerName test.de
    ServerAlias www.test.de
</VirtualHost>

Você deve usar NameVirtualHost domain.name:80 ou NameVirtualHost 1.2.3.4:80 se o seu host virtual ouvir um endereço IP diferente do padrão.

    
por 13.10.2011 / 19:11