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