Iniciante Fundamentos

Redirecionamentos

Redirecionar é enviar o navegador de uma URL para outra. O Apache faz isso com Redirect e RedirectMatch, ambos do módulo mod_alias, que já vem ativo por padrão.

Redirect

Aponta um caminho para uma nova URL:

# Permanente (301): a página mudou de lugar
Redirect permanent /antigo https://exemplo.com/novo

# Temporário (302): mudança provisória
Redirect temp /promo https://exemplo.com/oferta

O permanent gera status 301; sem ele, o padrão também é 302 com temp.

Redirecionar o site inteiro

<VirtualHost *:80>
    ServerName exemplo.com
    Redirect permanent / https://exemplo.com/
</VirtualHost>

RedirectMatch

Usa expressão regular, útil para padrões:

# Redireciona qualquer .html para a versão sem extensão
RedirectMatch permanent ^/(.*)\.html$ https://exemplo.com/$1

O $1 reaproveita o trecho capturado pelo ( ).

301 ou 302

  • Use 301 (permanent) quando o endereço mudou de vez (ajuda no SEO).
  • Use 302 (temp) quando for algo passageiro.

Aplicar

sudo apache2ctl configtest
sudo systemctl reload apache2
curl -I http://exemplo.com/antigo