Poupe 15% em todos os serviços de alojamento

Teste as suas habilidades e obtenha Desconto em qualquer plano

Utilizar o código: Skills Começar a trabalhar
Secções
Administração Hospedagem LiteSpeed

Redirecionamento via .htaccess: O Guia Completo para Gerenciar Redirecionamentos em Servidores Apache

Os redirecionamentos estão entre as ferramentas mais críticas no arsenal de um administrador web. Quer você esteja reestruturando os URLs do seu site, migrando para um novo domínio ou aplicando HTTPS, configurar redirecionamentos corretamente pode significar a diferença entre manter suas classificações nos mecanismos de busca e perdê-las completamente. Em servidores baseados em Apache, o arquivo .htaccess é a solução ideal para implementar redirecionamentos poderosos e flexíveis sem tocar na configuração global do servidor.

Neste guia abrangente, cobriremos tudo o que você precisa saber sobre redirecionamentos .htaccess — desde os fundamentos até configurações avançadas — para que você possa gerenciar o tráfego do seu site com confiança.

1. O que é .htaccess?

O arquivo .htaccess — abreviação de hypertext access — é um arquivo de configuração no nível do diretório usado por servidores web Apache. Ao contrário dos arquivos de configuração global do servidor (como httpd.conf), que exigem acesso ao nível raiz e reinicialização do servidor para aplicar alterações, .htaccess opera no nível do diretório e entra em vigor imediatamente após ser salvo.

Características principais do .htaccess:

  • Escopo: As configurações se aplicam ao diretório onde o arquivo está localizado e a todos os seus subdiretórios.
  • Sem necessidade de reinicialização: As alterações entram em vigor instantaneamente sem reiniciar o servidor Apache.
  • Versatilidade: Além de redirecionamentos, .htaccess pode lidar com reescrita de URL, controle de acesso, páginas de erro personalizadas, configuração de tipo MIME, regras de cache e muito mais.
  • Localização: Normalmente colocado no diretório raiz (public_html ou www) do seu site.

> Importante: Para .htaccess funcionar, o servidor Apache deve ter AllowOverride definido como All na configuração do servidor. Se você estiver em um ambiente de hospedagem gerenciada, isso geralmente está ativado por padrão.

Se você estiver executando seu próprio servidor, seja em um plano de VPS Hosting ou um Servidor Dedicado, você terá controle total sobre a configuração do Apache e poderá ativar AllowOverride conforme necessário.

2. Por que usar redirecionamentos?

Os redirecionamentos servem a múltiplos propósitos críticos no gerenciamento de sites. Aqui está um resumo dos casos de uso mais comuns:

Alterações na estrutura de URL

Quando você reestrutura seu site — por exemplo, migrando de /old-page.html para /new-page.html — usuários com marcadores ou links apontando para a URL antiga encontrarão um erro 404 Not Found. Um redirecionamento os encaminha automaticamente para o destino correto.

Migração de domínio

Movendo seu site para um novo domínio? Sem redirecionamentos adequados, todo o tráfego para seu domínio antigo simplesmente desaparecerá. Os redirecionamentos no nível de domínio garantem que cada visitante e cada rastreador de mecanismo de busca seja encaminhado perfeitamente para o novo domínio.

Preservação do valor de SEO

Os mecanismos de busca atribuem autoridade e sinais de classificação a URLs específicas. Quando o conteúdo se move sem um redirecionamento adequado, esses sinais são perdidos. Um redirecionamento 301 implementado corretamente passa a maioria da autoridade de link (frequentemente chamada de “PageRank”) da URL antiga para a nova, protegendo suas classificações de busca orgânica.

Aplicação de URLs canônicas

Conteúdo duplicado é um problema comum de SEO. Por exemplo, http://yoursite.com, https://yoursite.com, http://www.yoursite.com e https://www.yoursite.com podem servir o mesmo conteúdo, confundindo os mecanismos de busca. Os redirecionamentos aplicam uma única versão canônica de sua URL.

Aplicação de HTTPS

Se você instalou um Certificado SSL em seu domínio, você desejará garantir que todos os visitantes sejam servidos automaticamente com a versão HTTPS segura do seu site. Um redirecionamento .htaccess faz isso automaticamente.

Experiência do usuário melhorada

Usuários que clicam em links desatualizados ou digitam URLs antigas nunca devem chegar a um beco sem saída. Os redirecionamentos garantem que sempre cheguem à página correta, reduzindo as taxas de rejeição e melhorando a satisfação geral.

3. Tipos de redirecionamentos explicados

Os redirecionamentos HTTP são definidos por códigos de status. Entender qual código usar em qual situação é fundamental para implementar redirecionamentos corretamente.

Código de statusNomeCaso de uso
301Redirecionamento permanenteO conteúdo foi movido permanentemente para uma nova URL
302Redirecionamento temporário (encontrado)O conteúdo foi movido temporariamente
303Ver outroResposta a uma solicitação POST; redirecionar para um recurso GET
307Redirecionamento temporárioMovimento temporário; método preservado
308Redirecionamento permanenteMovimento permanente; método preservado

Redirecionamento 301 — Redirecionamento permanente

O redirecionamento 301 é o redirecionamento mais comumente usado em SEO e gerenciamento de sites. Ele sinaliza aos navegadores e mecanismos de busca que o conteúdo na URL original foi movido permanentemente para um novo local. Os mecanismos de busca atualizarão seus índices para refletir a nova URL e transferirão a maioria da autoridade de classificação da página original.

Use um 301 quando:

  • Você moveu permanentemente uma página ou reestruturou seus URLs
  • Você está migrando para um novo domínio
  • Você está consolidando conteúdo duplicado
  • Você está aplicando www vs. não-www ou HTTP vs. HTTPS

Redirecionamento 302 — Redirecionamento temporário

O redirecionamento 302 informa aos navegadores e mecanismos de busca que a mudança é temporária e que a URL original será eventualmente restaurada. Os mecanismos de busca geralmente não transferem autoridade de link para redirecionamentos 302 e continuarão indexando a URL original.

Use um 302 quando:

  • Você está executando uma promoção temporária ou teste A/B
  • Você está realizando manutenção e redirecionando temporariamente os usuários
  • A URL original voltará ao uso ativo em breve

> Erro comum: Muitos desenvolvedores usam redirecionamentos 302 quando na verdade pretendem um redirecionamento permanente. Sempre use 301 para movimentos permanentes para evitar penalidades de SEO e confundir rastreadores de mecanismos de busca.

4. Como configurar redirecionamentos via .htaccess

Antes de fazer qualquer alteração, sempre crie um backup de seu arquivo .htaccess existente. Um único erro de sintaxe pode causar um 500 Internal Server Error e colocar seu site offline.

Acessando seu arquivo .htaccess

Você pode acessar seu arquivo .htaccess via:

  • Cliente FTP/SFTP (por exemplo, FileZilla) — navegue até seu diretório raiz
  • Gerenciador de arquivos no painel de controle de hospedagem (cPanel, DirectAdmin, etc.)
  • Terminal SSHnano /var/www/html/.htaccess

> Nota: .htaccess é um arquivo oculto. Certifique-se de que seu cliente FTP ou gerenciador de arquivos está configurado para mostrar arquivos ocultos (arquivos começando com um ponto).

Redirecionar uma única página

O caso de uso de redirecionamento mais simples é encaminhar uma URL específica para outra. Use a diretiva Redirect:

Redirect 301 /old-page.html https://www.yoursite.com/new-page.html

Detalhamento:

    Redirect — a diretiva Apache para redirecionamentos simples
    301 — o código de status HTTP (redirecionamento permanente)
    /old-page.html — o caminho da URL antiga (relativo à raiz do documento)
    https://www.yoursite.com/new-page.html — a URL de destino completa
    
    Para um redirecionamento temporário, simplesmente substitua 301 por 302:
    Redirect 302 /promo-page.html https://www.yoursite.com/sale.html
    Redirecionar várias páginas específicas
    Se você precisar redirecionar várias páginas individuais, liste cada redirecionamento em uma linha separada:
    Redirect 301 /old-page-1.html https://www.yoursite.com/new-page-1.html
    Redirect 301 /old-page-2.html https://www.yoursite.com/new-page-2.html
    Redirect 301 /old-page-3.html https://www.yoursite.com/new-page-3.html
    Redirecionar um domínio inteiro
    Ao migrar todo o seu site para um novo domínio, use mod_rewrite para redirecionar todo o tráfego preservando os caminhos de URL:
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^olddomain.com$ [NC,OR]
    RewriteCond %{HTTP_HOST} ^www.olddomain.com$ [NC]
    RewriteRule ^(.*)$ https://www.newdomain.com/$1 [L,R=301]
    Detalhamento:
    
    RewriteEngine On — ativa o módulo Apache mod_rewrite
  • RewriteCond %{HTTP_HOST} ^olddomain.com$ — corresponde a solicitações para olddomain.com
  • [NC] — correspondência sem distinção entre maiúsculas e minúsculas
    [OR] — OR lógico entre condições (corresponde a www ou não-www)
    RewriteRule ^(.*)$ https://www.newdomain.com/$1 — redireciona todo o tráfego, preservando o caminho da URL ($1 captura tudo após o domínio)
    [L,R=301] — L significa que esta é a última regra a processar; R=301 especifica um redirecionamento permanente
    
    Redirecionar www para não-www
    Escolher entre www e não-www como seu domínio canônico é uma decisão importante de SEO. Uma vez escolhido, redirecione todo o tráfego para a versão preferida.
    Redirecionar www → não-www:
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^www.yoursite.com$ [NC]
    RewriteRule ^(.*)$ https://yoursite.com/$1 [L,R=301]
    Redirecionar não-www → www:
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^yoursite.com$ [NC]
    RewriteRule ^(.*)$ https://www.yoursite.com/$1 [L,R=301]
    > Dica: Seja consistente. Escolha uma versão canônica e mantenha-a. A inconsistência entre www e não-www cria problemas de conteúdo duplicado e dilui seus sinais de SEO.
    Redirecionar HTTP para HTTPS
    Depois de instalar um certificado SSL, você deve forçar todo o tráfego a usar o protocolo HTTPS seguro. Este é um dos redirecionamentos mais importantes tanto para segurança quanto para SEO, pois o Google usa HTTPS como um sinal de classificação.
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    Detalhamento:
    
    RewriteCond %{HTTPS} off — verifica se a solicitação atual NÃO está usando HTTPS
    %{HTTP_HOST} — insere dinamicamente o nome do host (funciona para qualquer domínio)
    %{REQUEST_URI} — preserva o caminho completo da URL e a string de consulta
    
    Redirecionamento combinado HTTP para HTTPS + não-www para www:
    RewriteEngine On
    RewriteCond %{HTTPS} off [OR]
    RewriteCond %{HTTP_HOST} ^www. [NC]
    RewriteRule ^ https://yoursite.com%{REQUEST_URI} [L,R=301]
    Redirecionar um diretório
    Para redirecionar um diretório inteiro para um novo local:
    RedirectMatch 301 ^/old-directory/(.*)$ https://www.yoursite.com/new-directory/$1
    Isso usa RedirectMatch, que suporta expressões regulares, permitindo que você corresponda e redirecione todos os URLs dentro de um diretório específico preservando o caminho do arquivo.
    Redirecionar com base na string de consulta
    Às vezes você precisa redirecionar URLs que contêm parâmetros de consulta específicos:
    RewriteEngine On
    RewriteCond %{QUERY_STRING} ^id=123$
    RewriteRule ^page.php$ https://www.yoursite.com/new-page/? [L,R=301]
    O ? à direita na URL de destino remove a string de consulta original da URL redirecionada.
    5. Cenários avançados de redirecionamento
    Redirecionar para uma página de manutenção
    Durante a manutenção programada, redirecione todos os visitantes para uma página de manutenção temporária enquanto permite que seu próprio endereço IP passe:
    RewriteEngine On
    RewriteCond %{REMOTE_ADDR} !^123.456.789.000$
    RewriteCond %{REQUEST_URI} !/maintenance.html$
    RewriteRule ^(.*)$ /maintenance.html [L,R=302]
    Substitua 123.456.789.000 pelo seu endereço IP real.
    Forçar barra invertida em diretórios
    Barras invertidas inconsistentes podem criar conteúdo duplicado. Force uma barra invertida em URLs de diretório:
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_URI} !/$
    RewriteRule ^(.*)$ /$1/ [L,R=301]
    Página de erro 404 personalizada com redirecionamento
    Embora não seja um redirecionamento tradicional, configurar uma página 404 personalizada melhora a experiência do usuário quando links quebrados são encontrados:
    ErrorDocument 404 /404.html
    6. Melhores práticas para redirecionamentos .htaccess
    Seguir essas melhores práticas ajudará você a evitar armadilhas comuns e garantir que seus redirecionamentos funcionem de forma ideal.
    ✅ Sempre use 301 para alterações permanentes
    Use um redirecionamento 301 sempre que o conteúdo se mover permanentemente. Isso garante que os mecanismos de busca transfiram a autoridade de classificação para a nova URL e atualizem seus índices de acordo.
    ✅ Faça backup antes de editar
    Antes de fazer qualquer alteração em seu arquivo .htaccess, baixe uma cópia para sua máquina local. Um erro de sintaxe pode causar um 500 Internal Server Error, colocando seu site offline instantaneamente.
    ✅ Teste todos os redirecionamentos após a implementação
    Use ferramentas como:
    
    Verificador de redirecionamento (redirect-checker.org)
    Screaming Frog SEO Spider — rastreia seu site e identifica cadeias de redirecionamento
    Google Search Console — monitora como o Google processa seus redirecionamentos
    Comando curl no terminal: curl -I https://yoursite.com/old-page.html

    ✅ Evite cadeias de redirecionamento

    Uma cadeia de redirecionamento ocorre quando a URL A redireciona para a URL B, que redireciona para a URL C. Cada salto adiciona latência e dilui o valor de SEO passado pela cadeia. Sempre redirecione diretamente para o destino final.

    Ruim:

    /page-a → /page-b → /page-c

    Bom:

    /page-a → /page-c
    /page-b → /page-c

    ✅ Evite loops de redirecionamento

    Um loop de redirecionamento ocorre quando a URL A redireciona para a URL B, que redireciona de volta para a URL A. Isso causa um erro do navegador e torna a página inacessível. Sempre verifique sua lógica de redirecionamento antes de implantar.

    ✅ Mantenha .htaccess enxuto

    Cada solicitação ao seu servidor faz com que o Apache leia o arquivo .htaccess. Um arquivo inchado com dezenas de regras desnecessárias pode desacelerar seu servidor. Mantenha apenas as regras que você usa ativamente.

    ✅ Use HTTPS em todos os lugares

    Se você ainda não fez isso, instale um certificado SSL e redirecione todo o tráfego HTTP para HTTPS. Este é um requisito de segurança básico e um fator de classificação confirmado pelo Google. A AlexHost oferece Certificados SSL que podem ser implantados rapidamente em seus domínios.

    ✅ Monitore redirecionamentos no Google Search Console

    Após implementar redirecionamentos — especialmente após uma migração de domínio — monitore os relatórios de Cobertura e Inspeção de URL do Google Search Console para garantir que o Google está indexando corretamente suas novas URLs.

    7. Solução de problemas de redirecionamento comuns

    Erro 500 de servidor interno

    Causa: Erro de sintaxe em .htaccess

    Correção: Revise cuidadosamente sua sintaxe .htaccess. Até mesmo um espaço ou colchete ausente pode causar este erro. Restaure seu backup e reaplique as alterações uma regra por vez.

    Redirecionamento não funciona

    Causa: mod_rewrite pode não estar ativado, ou AllowOverride não está definido como All

    Correção: Certifique-se de que mod_rewrite está ativado (a2enmod rewrite no Ubuntu/Debian) e que AllowOverride All está definido na configuração do host virtual Apache.

    Loop de redirecionamento (ERR_TOO_MANY_REDIRECTS)

    Causa: Duas ou mais regras de redirecionamento estão apontando uma para a outra

    Correção: Revise suas regras cuidadosamente. Para redirecionamentos HTTPS, certifique-se de que seu RewriteCond verifica corretamente o status %{HTTPS}. Alguns ambientes de servidor (por exemplo, atrás de um balanceador de carga) exigem verificação de %{HTTP:X-Forwarded-Proto} em vez disso.

    Redirecionamento passa strings de consulta incorretamente

    Causa: As strings de consulta não estão sendo tratadas conforme esperado

    Correção: Use %{QUERY_STRING} em seu RewriteCond e acrescente ? à URL de destino para remover ou preservar strings de consulta conforme necessário.

    Arquivo .htaccess não está sendo lido

    Causa: O arquivo pode estar nomeado incorretamente ou colocado no diretório errado

    Correção: Certifique-se de que o arquivo está nomeado exatamente .htaccess (com o ponto inicial e sem extensão de arquivo) e está colocado no diretório correto.

    8. Conclusão

    Dominar redirecionamentos .htaccess é uma habilidade essencial para qualquer desenvolvedor web, profissional de SEO ou administrador de sistemas trabalhando com ambientes de hosp