Redirecionar um URL do site de um servidor para um servidor diferente no Apache

Redirecionar um URL do site de um servidor para um servidor diferente no Apache

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

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 mais robusta.

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

No entanto, você deseja que essa mudança seja transparente para seus usuários, para que eles ainda possam acessar os documentos no URL usual.

No exemplo seguinte, um arquivo nomeado ativos.pdf foi movido de /var/www/html em 192.168.0.100 (nome de anfitrião: rede) para o mesmo local em 192.168.0.101 (nome de anfitrião: Web2).

Para que os usuários acessem este arquivo quando navegam para 192.168.0.100/ativos.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):

Rewriture "^(/ativos \.pdf $) "" http: // 192.168.0.101 $ 1 "[r, l] 

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

Agora salve mudanças, não se esqueça de reiniciar o Apache e vamos ver o que acontece quando tentarmos acessar ativos.pdf navegando para 192.168.0.100/ativos.pdf:

Leia sugerida: 25 Útil '.truques da Htacccess para sites

No acima abaixo, podemos ver que a solicitação que foi feita para ativos.pdf sobre 192.168.0.100 foi realmente tratado por 192.168.0.101.

# cauda -n 1/var/log/apache2/acesso.registro 
Verifique os logs do Apache

Neste artigo, discutimos como realizar um redirecionamento para um recurso que foi movido para um servidor diferente. Para encerrar, sugiro fortemente que você dê uma olhada no Guia Mod_rewrite e no Apache Redirect Guide for Future Reference.

Como sempre, sinta -se à vontade para usar o formulário de comentário abaixo se tiver alguma preocupação com este artigo. Estamos ansiosos para ouvir de você!