Problema do Apache com o VirtualHosts

2

Estou configurando um pequeno site no local no servidor de produção. Enquanto estamos finalizando todas as configurações para o domínio final, localizamos em dev.domain.com, para que nossos visitantes não vejam um site potencialmente problemático, pois acessam www.domain.com ou domain.com. Eu fiz isso especificando um virtualhost pegando dev.domain.com com o documentroot do site "real" e criando um novo site com o virtualhost capturando www.domain.com e domain.com, com o documentroot apontando para um diretório parallell para o site "real", contendo nada além de um index.html. Este site mostraria ao visitante uma mensagem sobre a reconstrução do site.

Estes são os arquivos de configuração do site:

# dev.domain.com
<VirtualHost *:80>
        ServerAdmin [email protected]
        ServerName dev.domain.com

        DirectoryIndex index.html
        DocumentRoot /var/www/www.domain.com/htdocs/

        ScriptAlias /cgi-bin/ /var/www/www.domain.com/cgi-bin/
        <Location /cgi-bin>
                Options +ExecCGI
        </Location>

        ErrorLog /var/log/apache2/www.domain.com/error.log
        CustomLog /var/log/apache2/www.domain.com/access.log combined
</VirtualHost>


# a-notice-site
<VirtualHost *:80>
        ServerAdmin [email protected]
        ServerName www.domain.com
        ServerAlias domain.com    

        DirectoryIndex index.html
        DocumentRoot /var/www/notice-site/htdocs/

        ScriptAlias /cgi-bin/ /var/www/www.domain.com/cgi-bin/
        <Location /cgi-bin>
                Options +ExecCGI
        </Location>

        ErrorLog /var/log/apache2/www.domain.com/error.log
        CustomLog /var/log/apache2/www.domain.com/access.log combined
</VirtualHost>

Então, meu problema é este : ao digitar www.domain.com, www.domain.com. e mesmo domain.com., eu alcanço o site de aviso muito bem, mas ao acessar apenas domain.com (sem o ponto à direita) minha barra de endereços do navegador diz que eu fui encaminhado para www.domain.com/notice-site/ htdocs e eu recebo um 404 que o URL não foi encontrado. Acessando o site dev funciona perfeitamente.

Eu tenho um pequeno palpite de que isso tem algo a ver com a maneira como configurei os hosts virtuais, mas infelizmente não consigo entender por que isso causaria esse efeito. Alguém já ouviu falar de algo semelhante ou o que poderia causar isso?

apache2ctl -S dá:

VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:80                   is a NameVirtualHost
         default server www.domain.com (/etc/apache2/sites-enabled/a-notice-site:4)
         port 80 namevhost www.domain.com (/etc/apache2/sites-enabled/a-notice-site:4)
         port 80 namevhost dev.domain.com (/etc/apache2/sites-enabled/dev.domain.com:4)
Syntax OK
    
por Karlinde 08.08.2012 / 10:49

1 resposta

0

Essas configurações parecem funcionar, você está lutando contra algum tipo de problema no navegador? Talvez o navegador que você está usando esteja colocando automaticamente o www na frente de domain.com? Você pode limpar os caches do seu navegador e tentar novamente? Certifique-se de não pressionar [Ctrl] + [Enter] ou algo assim.

    
por 13.08.2012 / 21:03