Testador de .htaccess
Teste como um conjunto de diretivas .htaccess do Apache (RewriteRule/RewriteCond e Redirect/RedirectMatch) resolve uma URL de teste — veja o redirecionamento, a reescrita interna ou a passagem direta resultante, com um rastreamento diretiva por diretiva.
Entrada
Um caminho como /article/42, com ou sem query string. Apenas o caminho + a query são usados.
Requisição simulada
Saída
| Propriedade | Valor |
|---|---|
| No data yet | |
Rastreamento diretiva por diretiva
| Linha | Diretiva | Regra | Resultado |
|---|---|---|---|
| No data yet | |||
Mais formas de usar esta ferramenta
API REST
curl -X POST https://api.iotools.cloud/v1/tool/htaccess-tester \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"htaccessRules": "RewriteEngine On\n\n# Force HTTPS\nRewriteCond %{HT…",
"testUrl": "/article/42",
"httpsEnabled": "",
"httpHost": "example.com"
}'Troque pela sua própria chave, da sua conta. Os campos da ferramenta viram o corpo da requisição — sem envelope.
Peça a um agente de IA
Use the IOTools `htaccess-tester` tool (.htaccess Tester) on this input:
YOUR_INPUT_HERECole isto em qualquer agente conectado ao servidor MCP do IOTools e depois adicione sua entrada.
Widget para incorporar
<iframe
src="https://iotools.cloud/embed/htaccess-tester/"
width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
title="Testador de .htaccess — iotools.cloud"
sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
allow="clipboard-write"
style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>Coloque isso na sua própria página — grátis, sem chave, só um link de volta.
| Custo por chamada de API/MCP | A partir de 5 créditos |
|---|---|
| Precisa de mais créditos? | Ver preços |
Também disponível via
Guias
O que esta ferramenta faz
As diretivas .htaccess do Apache controlam reescrita de URLs e redirecionamentos por meio do mod_rewrite (RewriteEngine, RewriteCond, RewriteRule) e do mod_alias (Redirect, RedirectMatch, RedirectPermanent, RedirectTemp). Acertar uma cadeia de reescrita apenas olhando a regex é difícil — uma condição que nunca bate, uma substituição que referencia o backreference errado ou uma flag [L] esquecida podem quebrar silenciosamente o redirecionamento que você queria criar.
Esta ferramenta simula essa resolução: cole suas diretivas, informe uma URL de teste, e ela percorre as regras diretiva por diretiva, mostrando exatamente qual RewriteCond bateu, qual RewriteRule foi disparada e qual é o resultado final — um redirecionamento externo (com código de status e Location), uma reescrita interna, um 403/410, ou uma passagem direta sem nenhuma correspondência.
Como usar
- Cole suas diretivas de reescrita/redirecionamento do
.htaccessna caixa Conteúdo do .htaccess. - Informe a URL / caminho a testar — um caminho como
/article/42, com ou sem query string. - Ative Simular uma requisição HTTPS e defina o Cabeçalho Host se suas regras dependem de
%{HTTPS}ou%{HTTP_HOST}(comum em regras de forçar HTTPS e de canonização do www). - Leia a linha Resultado para ver o desfecho, e a tabela de rastreamento abaixo dela para ver como cada diretiva foi avaliada.
Roda automaticamente conforme você edita — não há botão para clicar.
O que é simulado
RewriteEngine On|Off,RewriteBaseRewriteCond—CondPatternpor regex (com negação!e[NC]) e a forma=literalde correspondência exata, encadeadas com a mesma lógica de AND/[OR]que o Apache usaRewriteRule— correspondência de padrão (sem a barra inicial, a convenção usual de.htaccesspor diretório) além das flagsNC,L/END,R/R=NNN,F,G,PeQSA, e expansão de backreferences%{VAR}/%N/$NRedirect,RedirectMatch,RedirectPermanent,RedirectTemp(mod_alias)
As diretivas são lidas de cima para baixo em uma única passagem. O próprio Apache reinicia a correspondência a partir do topo do conjunto de regras após uma reescrita não terminal (sem L); esta ferramenta não faz esse novo laço, então uma regra escrita especificamente para capturar uma URL já reescrita numa segunda passagem não será disparada aqui — a maioria das cadeias de reescrita diretas (redirecionar-se-http, canonicalizar-www, URL-amigável-para-query-string) não depende desse comportamento. Testes de existência de arquivo (-f, -d, -s) e comparações lexicográficas em RewriteCond sempre são reportados como "não correspondeu", pois não há sistema de arquivos nem requisição real contra a qual verificar, e P (proxy) é reportado, mas nunca é de fato buscado.
Perguntas frequentes
Isso testa o meu servidor em produção? Não — tudo roda sobre o texto que você colou, usando a URL de teste e os valores simulados de Host/HTTPS que você informa. Nada é buscado na rede.
Por que minha RewriteRule não foi disparada?
Confira a tabela de rastreamento — ela mostra cada resultado de RewriteCond que antecede a regra e se o próprio padrão da regra correspondeu. Uma causa comum é a barra inicial / no padrão: padrões em contexto de .htaccess correspondem ao caminho sem a barra inicial, então ^/article nunca bate com /article/42 — use ^article no lugar.
E se eu só quiser reindentar meu .htaccess, sem testar?
Use o .htaccess Formatter. Para montar blocos de regras comuns (forçar HTTPS, canonização do www, proteção contra hotlink, …) a partir de opções, em vez de escrevê-los à mão, use o .htaccess Rule Generator.
Privacidade
Esta ferramenta roda inteiramente no seu navegador. O conteúdo do seu .htaccess e a sua URL de teste nunca são enviados a um servidor.