Testador e Validador de .htaccess

Encontre a linha que causa erro 500 e teste as regras de rewrite antes de publicar: informe uma URL para ver quais condições batem, para onde ela redireciona ou o que ela reescreve.

Atualizado em

Teste uma URL

Validação

Seus dados nunca saem do seu computador. Todo o processamento acontece localmente no navegador.

Como usar: Testador de .htaccess

  1. Cole seu arquivo .htaccess (ou clique em Testar regras no gerador de .htaccess).
  2. Confira o painel de validação para erros que causariam um erro 500 e avisos para regras que nunca batem.
  3. Informe uma URL de requisição para simulá-la: cada condição e regra é avaliada e o redirect ou rewrite final é mostrado.
  4. Liste os arquivos e diretórios existentes para testar as condições -f e -d.

O que o validador verifica

  • Diretivas desconhecidas e erros de digitação — o Apache responde qualquer diretiva desconhecida no .htaccess com um erro 500 Internal Server Error.
  • Diretivas exclusivas do servidor, como ServerName, <VirtualHost> ou <Directory>, que não são permitidas no .htaccess.
  • Contêineres desbalanceados — um <IfModule> ou <FilesMatch> que nunca é fechado.
  • Expressões regulares inválidas e flags desconhecidas em RewriteRule / RewriteCond.
  • Problemas de lógica: padrões que começam com ^/ (eles nunca batem no .htaccess), redirects sem L, condições sem regra, regras antes de RewriteEngine On.
  • Compatibilidade: Order/Allow/Deny do Apache 2.2, php_value em hospedagens com PHP-FPM, sintaxe mista de Options.

Como funciona a simulação de rewrite

Assim como o Apache, o testador remove a barra inicial do caminho, avalia cada RewriteRule em ordem, verifica suas linhas RewriteCond (com [OR] e [NC]), substitui as referências $1 e %1 e variáveis do servidor como %{HTTP_HOST}, %{HTTPS}, %{REQUEST_URI} e %{QUERY_STRING}, e aplica flags como R=301, L, QSA, F e G. Depois de um rewrite interno, ele executa as regras novamente, exatamente como o Apache faz no contexto por diretório. Redirect e RedirectMatch também são testados.

Limitações

O simulador usa expressões regulares do JavaScript, que correspondem ao PCRE na maioria dos padrões de .htaccess. Ele não consegue conhecer o sistema de arquivos do seu servidor (liste os arquivos para os testes -f/-d), o RewriteMap, variáveis de ambiente definidas por outros módulos nem a ordem em que mod_alias e mod_rewrite são executados no seu servidor. Sempre confirme com uma requisição real: o verificador de redirecionamentos mostra a cadeia de redirects ao vivo.

Crie um arquivo novo com o gerador de .htaccess e teste as expressões regulares em detalhes com o testador de regex.

Também pesquisado como: testar htaccess, validador htaccess, testar regras rewrite, verificador htaccess, testador mod_rewrite, checar sintaxe htaccess, testar rewriterule, erro 500 htaccess.

Ferramentas que combinam com: Testador de .htaccess

  • Gerador de Htpasswd — Gere linhas usuario:hash para autenticação HTTP Basic no Apache, Nginx, Traefik e Caddy, com bcrypt por padrão e nada enviado para um servidor.
  • Códigos de Status HTTP — Todo código de resposta HTTP padrão explicado em linguagem simples, com quando usar e como afeta o SEO.
  • Validador YAML — Cole um arquivo Docker Compose, manifesto Kubernetes, workflow do GitHub Actions ou qualquer YAML para localizar erros, evitar armadilhas comuns e obter uma versão bem formatada.
  • Gerador de YAML Kubernetes — Preencha o nome, a imagem e a porta do seu app e receba YAML do Kubernetes pronto para produção: um Deployment com probes, limites de recursos e contexto de segurança reforçado, além do Service, do Ingress com TLS, do ConfigMap, do Secret e do HorizontalPodAutoscaler que você marcar, tudo em um arquivo pronto para kubectl apply.

Perguntas frequentes

Como encontro a linha que causa o erro 500?
Cole o arquivo aqui: diretivas desconhecidas, diretivas exclusivas do servidor, tags não fechadas e expressões regulares inválidas são listadas com os números das linhas. No servidor, o log de erros do Apache também informa a linha.
Por que minha RewriteRule ^/pagina$ nunca bate?
No .htaccess o caminho é comparado sem a barra inicial. Use ^pagina$ em vez de ^/pagina$.
A simulação é exatamente igual ao Apache?
Ela segue a lógica de rewrite por diretório do Apache para as diretivas e flags mais comuns, mas não consegue enxergar seu sistema de arquivos nem outros módulos. Trate como uma verificação rápida e confirme com uma requisição real.
Meu .htaccess é enviado para algum servidor?
Não. A validação e a simulação rodam no seu navegador.
Posso instalar o Testador de .htaccess como um aplicativo da web e usá-lo offline?
Sim. O Testador de .htaccess é um aplicativo da web instalável (PWA) — instalado a partir do seu navegador, não baixado de uma loja de aplicativos. Clique em “Instalar aplicativo” na parte superior desta página no Chrome ou no Edge (Windows, macOS, Linux, ChromeOS) ou, no Android, use “Compartilhar” → “Adicionar à tela inicial” no iPhone e no iPad, ou “Arquivo” → “Adicionar ao Dock” no Safari 17+ em um Mac. Em seguida, ela se abre em uma janela própria com seu próprio ícone e, como é executada inteiramente no seu navegador, continua funcionando offline. O Firefox no desktop não permite a instalação de aplicativos da web. Como funciona a instalação.

Ferramentas relacionadas