Iniciante Fundamentos

Redirecionamentos

Redirecionar é enviar o visitante de uma URL para outra. O Nginx faz isso de forma simples com a diretiva return.

return 301 e 302

Há dois códigos principais:

  • 301: redirecionamento permanente. Navegadores e buscadores guardam a mudança.
  • 302: redirecionamento temporário. A URL antiga pode voltar a valer.
server {
    listen 80;
    server_name antigo.com;
    return 301 https://novo.com$request_uri;
}

Esse bloco manda todo o tráfego de antigo.com para novo.com, mantendo o caminho.

Redirecionar de www para sem www

Um uso comum é unificar o domínio:

server {
    listen 80;
    server_name www.exemplo.com;
    return 301 https://exemplo.com$request_uri;
}

Redirecionar uma única página

Dentro de um location você redireciona caminhos específicos:

location /promocao-antiga {
    return 302 /nova-promocao;
}

Variáveis úteis

Nas URLs de destino você pode usar $host (domínio), $request_uri (caminho completo com query) e $scheme (http ou https).

Resumo

Use return 301 para mudanças permanentes e return 302 para temporárias. Combine com variáveis como $request_uri para preservar o caminho original do visitante.