Pular para o conteúdo principal

Testador de .htaccess

API reference

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

Resultado
PropriedadeValor
No data yet

Rastreamento diretiva por diretiva

Resultado
LinhaDiretivaRegraResultado
No data yet
Isso foi útil?

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_HERE

Cole 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/MCPA 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

  1. Cole suas diretivas de reescrita/redirecionamento do .htaccess na caixa Conteúdo do .htaccess.
  2. Informe a URL / caminho a testar — um caminho como /article/42, com ou sem query string.
  3. 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).
  4. 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, RewriteBase
  • RewriteCond — CondPattern por regex (com negação ! e [NC]) e a forma =literal de correspondência exata, encadeadas com a mesma lógica de AND/[OR] que o Apache usa
  • RewriteRule — correspondência de padrão (sem a barra inicial, a convenção usual de .htaccess por diretório) além das flags NC, L/END, R/R=NNN, F, G, P e QSA, e expansão de backreferences %{VAR} / %N / $N
  • Redirect, 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.

htaccessapachemod_rewriterewrite ruleredirecturl rewriteweb serverseo

Ama as ferramentas? Livre-se dos anúncios.

Um único pagamento remove todos os anúncios da sua conta, para sempre. Sem assinatura, sem rastreamento.