O arquivo .htaccess contém regras que o servidor Apache aplica à pasta em que ele está e às respectivas subpastas. No WordPress, sua função mais comum é encaminhar URLs amigáveis, como /contato/, para o arquivo index.php, que identifica e exibe o conteúdo correto.
Antes de alterar esse arquivo, faça um backup do site e baixe uma cópia do .htaccess atual. Uma regra incorreta pode causar erro 500, redirecionamentos repetidos ou páginas com erro 404.
Onde encontrar o .htaccess
Em uma instalação comum, ele fica na mesma pasta que wp-config.php, wp-admin, wp-content e wp-includes. No cPanel, acesse Arquivos > Gerenciador de Arquivos, abra a pasta da instalação — frequentemente public_html — e habilite Mostrar arquivos ocultos (dotfiles) nas configurações do gerenciador.
Se o WordPress estiver instalado em uma subpasta, procure o arquivo dentro dela. A ausência do arquivo também pode ser normal quando os links permanentes simples são usados ou antes de o WordPress gerar as regras.
Conteúdo padrão do WordPress
Para uma instalação básica do WordPress na raiz de um site Apache, o bloco padrão atual é:
# BEGIN WordPress
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
Alguns servidores envolvem essas regras em um bloco <IfModule mod_rewrite.c>. Instalações em subpastas, redes WordPress Multisite e configurações especiais podem exigir regras diferentes; não substitua nesses casos sem antes confirmar a estrutura do site.
Como cada linha funciona
# BEGIN WordPresse# END WordPress: delimitam a área administrada pelo WordPress. Plugins e o próprio sistema podem recriar o conteúdo entre esses marcadores.RewriteEngine On: ativa o mecanismo de reescrita de URLs do Apache.RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]: preserva o cabeçalho de autorização HTTP para que ele possa ser utilizado pelo WordPress e por integrações compatíveis.RewriteBase /: define a raiz usada pelas regras desta instalação.RewriteRule ^index.php$ - [L]: se a solicitação já for paraindex.php, encerra o processamento desse conjunto de regras.RewriteCond %{REQUEST_FILENAME} !-f: só continua se a URL não corresponder a um arquivo físico existente.RewriteCond %{REQUEST_FILENAME} !-d: só continua se a URL não corresponder a uma pasta existente.RewriteRule . /index.php [L]: envia as demais solicitações ao WordPress, que resolve qual página, post ou rota deve ser exibida.
Como regenerar as regras
- Faça um backup do
.htaccessatual. - No painel do WordPress, acesse Configurações > Links permanentes.
- Sem precisar mudar a estrutura, clique em Salvar alterações.
- Teste a página inicial, uma página interna e o acesso a
/wp-admin/.
Se o arquivo não for gravável, o WordPress pode mostrar as regras que precisam ser copiadas manualmente. Não deixe permissões excessivas apenas para permitir a gravação; use as permissões recomendadas pelo ambiente de hospedagem.
Cuidados ao editar
- Adicione regras personalizadas fora do bloco delimitado pelo WordPress, pois o conteúdo interno pode ser sobrescrito.
- Não copie regras de outro site sem verificar domínio, subpasta, plugins, cache e tipo de instalação.
- Plugins de cache e segurança podem acrescentar blocos próprios. Desativá-los nem sempre remove todas as regras automaticamente.
- O
.htaccessé usado pelo Apache. Servidores Nginx ou IIS usam mecanismos de configuração diferentes.
O site apresentou erro após a alteração
- Renomeie temporariamente o arquivo alterado, por exemplo para
.htaccess-backup. - Teste novamente o site. Se ele voltar a abrir, a causa está em alguma regra do arquivo.
- Restaure a cópia anterior ou recrie somente o bloco padrão adequado à instalação.
- Depois, salve novamente os links permanentes e teste as páginas internas.
Se o erro continuar, informe ao suporte o domínio, o horário aproximado do teste, a mensagem exibida e as alterações realizadas, pelo e-mail suporte@invirtua.com.br.
