Como criar redirecionamentos temporários e permanentes com o Apache e o Nginx

shape
shape
shape
shape
shape
shape
shape
shape

O que é um redirecionamento de HTTP?

O redirecionamento HTTP, ou redirecionamento de URL, é uma técnica de apontar um domínio ou endereço para outro. Há muitos usos para o redirecionamento e alguns tipos diferentes de redirecionamento a serem considerados.

À medida que você cria conteúdo e administra servidores, muitas vezes você encontrará a necessidade de redirecionar o tráfego de um lugar para outro. Este guia discutirá os diferentes casos de uso para essas técnicas e como realizá-las no Apache e no Nginx.

Por que os servidores usam redirecionamentos?

Redirecionamentos são usados ​​sempre que um site precisa de pessoas solicitando que um endereço seja direcionado para outro endereço. Existem muitas situações em que você pode se encontrar nessa posição.

Movendo-se para um domínio diferente

Se você estabeleceu uma presença na Web e deseja alterar seu domínio, é melhor não abandonar apenas o domínio antigo.

Marcadores para o seu site e links para o seu site, localizados em outras páginas da Internet, serão interrompidos se o seu conteúdo desaparecer sem instruções ao navegador sobre como encontrar o novo local.

Alterar domínios sem redirecionar fará com que seu site perca tráfego de visitantes anteriores e perca toda a credibilidade que você trabalhou para estabelecer.

Expandindo para capturar domínios semelhantes

Muitas vezes, é útil registrar várias variações de um nome para se beneficiar dos usuários que digitarem endereços semelhantes ao seu domínio principal.

Por exemplo, se você tiver um domínio chamado “mymessyspiders.com”, também poderá comprar os nomes de domínio para “mymessyspiders.net” e “mymessyspiders.org” e redirecioná-los para o site “mymessyspiders.com”.

Isso permite que você capture usuários que possam estar tentando acessar seu site com o endereço errado. Ele também pode ajudar a impedir que outro site use um domínio semelhante e lucre com sua presença na web.

Criando uma Experiência Persistente Apesar das Mudanças no Nome da Página

Às vezes, é necessário alterar os nomes das páginas que já foram publicadas e receber tráfego em seu site.

Normalmente, isso levaria a um erro 404 Not Found ou possivelmente outro erro, dependendo das configurações de segurança. Isso pode ser evitado ao levar seus visitantes a outra página que contém o conteúdo correto que eles estavam tentando acessar.

Forçando o SSL

Um uso simples, mas comum, de redirecionamentos está direcionando todo o tráfego do site para usar SSL em vez de HTTP padrão.

Usando redirecionamentos, é possível fazer com que todos os pedidos de “http://www.mysite.com” sejam redirecionados para “https://www.mysite.com”.

Observe o HTTPS em vez de HTTP.

Métodos de redirecionamento

Existem alguns tipos diferentes de redirecionamentos de URL, cada um deles significando algo diferente do navegador do cliente.

Os dois tipos mais comuns são 302 redirecionamentos temporários e 301 redirecionamentos permanentes.

Redirecionamentos Temporários

Os redirecionamentos temporários são úteis se o conteúdo da Web de um determinado URL precisar temporariamente ser exibido em um local diferente.

Por exemplo, se você estiver executando a manutenção do site, convém usar um redirecionamento temporário de todas as páginas do seu domínio para uma página de explicação para informar aos visitantes que você voltará em breve.

Os redirecionamentos temporários informam ao navegador que o conteúdo está temporariamente localizado em um local diferente, mas que ele deve continuar tentando acessar o URL original.

Redirecionamentos Permanentes

Os redirecionamentos permanentes são úteis quando seu conteúdo foi movido para um novo local para sempre.

Isso é útil quando você precisa alterar domínios ou quando o URL precisa ser alterado por outros motivos, e o local antigo não será mais usado.

Esse redirecionamento informa ao navegador que ele não deve mais solicitar o URL antigo e deve atualizar suas informações para apontar para o novo URL.

Como redirecionar no Apache

O Apache pode redirecionar usando algumas ferramentas diferentes. As maneiras mais simples são realizadas com ferramentas do módulo “mod_alias”, mas redirecionamentos mais extensos podem ser criados com “mod_rewrite”.

Usando a diretiva de redirecionamento

No Apache, você pode realizar redirecionamentos simples de uma única página usando a diretiva “Redirect”, que está incluída no módulo “mod_alias”. Essa diretiva leva pelo menos dois argumentos: o URL antigo e o novo URL.

Em sua forma mais simples, você pode realizar um redirecionamento com as seguintes linhas na configuração do seu servidor:

Esse redirecionamento instrui o navegador a direcionar todas as solicitações de “www.domain1.com” para “www.domain2.com”. Isso é apenas para uma única página, não para o site inteiro

Por padrão, a diretiva “Redirecionar” estabelece um redirecionamento 302 ou temporário.

Se você quiser criar um redirecionamento permanente, poderá fazê-lo de uma das duas maneiras a seguir:

Usando a Diretriz RedirectMatch

Para redirecionar mais de uma única página, você pode usar a diretiva “RedirectMatch”, que permite especificar padrões de correspondência de diretório usando expressões regulares.

Isso permitirá que você redirecione diretórios inteiros em vez de apenas arquivos únicos.

RedirectMatch corresponde aos padrões entre parênteses e, em seguida, faz referência ao texto correspondente no redirecionamento usando “$ 1”, em que 1 é o primeiro grupo de texto. Grupos subseqüentes recebem números seqüencialmente.

Por exemplo, se quiséssemos corresponder cada solicitação de algo dentro do diretório “/ images” a um subdomínio chamado “images.example.com”, poderíamos usar o seguinte:

Como na diretiva “Redirecionar”, você pode especificar o tipo de redirecionamento adicionando o código de redirecionamento antes das regras de local da URL.

Usando mod_rewrite para redirecionar

A maneira mais flexível, mas complicada, de criar regras de redirecionamento é com o módulo chamado “mod_rewrite”.

Como redirecionar no Nginx

Redirecionamentos no Nginx são, em muitos aspectos, muito mais fáceis de realizar. Na maioria das vezes, você pode redirecionar criando um bloco de servidor para o conteúdo que deseja redirecionar.

Por exemplo, se você quiser redirecionar solicitações de “domínio1.com” para “domínio2.com”, poderá criar um bloco de servidor com esta aparência:

A diretiva “return” executa uma substituição de URL e, em seguida, retorna o código de status fornecido a ele e a URL de redirecionamento.

Nesse caso, ele usa a variável “$ scheme” para usar qualquer esquema usado na solicitação original (http ou https). Em seguida, ele retorna o código de redirecionamento permanente 301 e o URL recém-formado.

Para processar um redirecionamento de pasta para um subdomínio separado, podemos executar uma operação semelhante ao redirecionamento de pasta do Apache usando a diretiva “rewrite”:

Esta diretiva, quando colocada em um bloco de servidor, emitirá um redirecionamento temporário para solicitações dentro do diretório “imagens” para o subdomínio “images.example.com”.

Para um redirecionamento permanente, você pode alterar “redirecionar” para “permanente” no final da instrução.

Conclusão

Agora você tem o conhecimento para redirecionar sua solicitação para novos locais. Certifique-se de usar o tipo de redirecionamento correto, pois o uso indevido de redirecionamentos temporários pode prejudicar sua classificação de pesquisa.

O uso de redirecionamentos corretamente permitirá que você aproveite sua presença na Web atual, permitindo que você modifique a estrutura do site conforme necessário. Se você gostaria de aprender mais sobre as maneiras pelas quais você pode redirecionar seus visitantes, tanto o Apache quanto o Nginx têm uma ótima documentação sobre o assunto.

Escrito por Justin Ellingwood – Digital Ocean

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *