redirecionamento de domínio com virtualhost

3

Eu configurei um domínio, e eu gostaria de apontar esse domínio para um servidor da Web diferente.

digamos:

domínio 1 : www.test.com no servidor 1

domínio 2 : www.test1.com no servidor 2

Eu gostaria de encaminhar o www.test1.com para o www.test.com, e tentei fazer isso com a configuração de um host virtual no servidor 2 e no mod_rewrite.

O host virtual se parece com isso:

   <virtualhost XXX.XXX.XXX.XXX:80>
            ServerName   www.test1.com
            ServerAlias  test1.com *.test1.com    
            RewriteEngine On
            RewriteCond %{HTTP_HOST} (.*)\test\.com
            RewriteRule ^(.*) http://%1test.com/$1 [R=301,L]
    </VirtualHost>

Tudo funciona bem, exceto que o link não redireciona.

Pergunta 1: Como eu faria para redirecionar todas as solicitações (subdomínios tudo) que entram no link para link usando o mod_rewrite.

Pergunta 2: eu preciso especificar um diretório neste caso para o host virtual?

Pergunta 3: eu preciso do ServerAlias ou é contraproducente aqui?

ATUALIZAÇÃO:

Acabou fazendo um 301 com a seguinte configuração

<virtualhost <ip>:80>
        ServerName   test1.com
        ServerAlias  www.test1.com
        Redirect 301 / http://www.test.com
</VirtualHost>
    
por mahatmanich 18.06.2011 / 16:31

3 respostas

8

DocumentRoot não é obrigatório. Você pode configurar vhosts como este sem problemas:

 <VirtualHost xx.xx.xx.xx:90>
  ServerName domain.tld
  ServerAlias www.domain.tld
  RedirectPermanent / http://www.domain2.com/
 </VirtualHost>

Isso redirecionará todas as solicitações para o site principal, mas também para as subpastas. Por exemplo. www.domain.tld / foo / bar será redirecionado para www.domain2.com/foo/bar

ServerAlias só é necessário se você quiser vários nomes de host. Como www e sem www.

    
por 18.06.2011 / 18:05
2

Tente algo assim em seu host virtual:

<Virtualhost XXX.XXX.XXX.XXX:80>    
     ServerName www.test1.com
     ServerAlias *.test1.com
     Redirect 301 / http://www.test.com
</VirtualHost>

Muito básico e deve transferir qualquer coisa, independentemente do URL que o usuário está tentando acessar do test1.com para o test.com.

    
por 18.06.2011 / 18:02
1

Você misturou .com e .de em sua configuração de exemplo. Este poderia ser o problema?

Pergunta 1:

RewriteCond %{HTTP_HOST} ^.*\.test1\.de [NC]
RewriteRule ^(.*)$ http://www.test.de/$1 [L,R=301]

Pergunta 2:
Eu não tenho 100% de certeza se um DocumentRoot é necessário ou não, mas acho que não.

Pergunta 3: Sim, você precisa do alias * .test1.com.
Pode funcionar sem ele se este VirtualHost for o seu primeiro VirtualHost.
Em seguida, ele obteria todas as solicitações que não correspondessem a nenhum outro VirtualHosts, pois é o padrão.
No entanto, é mais limpo configurá-lo.

    
por 18.06.2011 / 17:03