Pesquisa de site

Redirecionar o URL de um site de um servidor para outro servidor no Apache


Conforme prometido em nossos dois artigos anteriores (Executar redirecionamento interno com mod_rewrite e Mostrar conteúdo personalizado com base no navegador), neste post explicaremos como realizar um redirecionamento para um recurso que foi movido de um servidor para um servidor diferente no Apache usando Módulo mod_rewrite.

Suponha que você esteja redesenhando o site da intranet da sua empresa. Você decidiu armazenar o conteúdo e o estilo (arquivos HTML, JavaScript e CSS) em um servidor e a documentação em outro – talvez um mais robusto.

Leitura sugerida: 5 dicas para aumentar o desempenho do seu servidor Web Apache

No entanto, você deseja que essa alteração seja transparente para seus usuários, para que eles ainda possam acessar os documentos na URL normal.

No exemplo a seguir, um arquivo chamado assets.pdf foi movido de /var/www/html em 192.168.0.100 (nome do host: web) para o mesmo local em 192.168.0.101 (nome do host: web2).

Para que os usuários acessem esse arquivo quando navegarem para 192.168.0.100/assets.pdf, abra o arquivo de configuração do Apache em 192.168.0.100 e adicione a seguinte regra de reescrita (ou você também pode adicionar a seguinte regra ao seu arquivo .htaccess):

RewriteRule "^(/assets\.pdf$)" "http://192.168.0.101$1"  [R,L]

onde $1 é um espaço reservado para qualquer coisa que corresponda à expressão regular entre parênteses.

Agora salve as alterações, não esqueça de reiniciar o Apache, e vamos ver o que acontece quando tentamos acessar assets.pdf navegando até 192.168.0.100/assets.pdf:

Leitura sugerida: 25 truques úteis de ‘.htaccess’ para sites

No exemplo acima, podemos ver que a solicitação feita para assets.pdf em 192.168.0.100 foi na verdade atendida por 192.168.0.101.

tail -n 1 /var/log/apache2/access.log

Neste artigo discutimos como realizar um redirecionamento para um recurso que foi movido para um servidor diferente. Para finalizar, sugiro fortemente que você dê uma olhada no guia mod_rewrite e no guia de redirecionamento Apache para referência futura.

Como sempre, sinta-se à vontade para usar o formulário de comentários abaixo se tiver alguma dúvida sobre este artigo. Estamos ansiosos para ouvir de você!