Como usar: Testador de .htaccess
- Cole seu arquivo
.htaccess(ou clique em Testar regras no gerador de .htaccess). - Confira o painel de validação para erros que causariam um erro 500 e avisos para regras que nunca batem.
- Informe uma URL de requisição para simulá-la: cada condição e regra é avaliada e o redirect ou rewrite final é mostrado.
- Liste os arquivos e diretórios existentes para testar as condições
-fe-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 semL, condições sem regra, regras antes deRewriteEngine On. - Compatibilidade:
Order/Allow/Denydo Apache 2.2,php_valueem hospedagens com PHP-FPM, sintaxe mista deOptions.
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?
Por que minha RewriteRule ^/pagina$ nunca bate?
^pagina$ em vez de ^/pagina$.