跳到主要内容

.htaccess 测试工具

API reference

测试一组 Apache .htaccess 的 RewriteRule/RewriteCond 与 Redirect/RedirectMatch 指令如何处理指定的测试 URL——查看其产生的确切重定向、内部重写或直通结果,并附带逐条指令的执行跟踪。

输入

例如 /article/42,可选带查询字符串。仅使用路径和查询字符串部分。

模拟请求

输出

结果
属性值
No data yet

逐条指令跟踪

结果
行号指令规则结果
No data yet
这对您有帮助吗?

使用此工具的更多方式

REST API

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"
  }'

替换成您账户中的密钥。工具的字段即为请求体——没有额外包装。

让 AI 代理执行

Use the IOTools `htaccess-tester` tool (.htaccess Tester) on this input:

YOUR_INPUT_HERE

将此粘贴给任何已连接 IOTools MCP 服务器的代理,再加上您的输入内容。

嵌入式小组件

<iframe
  src="https://iotools.cloud/embed/htaccess-tester/"
  width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
  title=".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>

把它放到您自己的页面上——免费,无需密钥,只需保留一个反向链接。

每次 API/MCP 调用费用5 积分起
需要更多积分?查看定价

也可通过

使用指南

这个工具做什么

Apache 的 .htaccess 文件通过 mod_rewrite(RewriteEngine、RewriteCond、RewriteRule)和 mod_alias(Redirect、RedirectMatch、RedirectPermanent、RedirectTemp)来控制 URL 重写和重定向。仅靠肉眼推敲正则来写对一条重写链很困难——一个永远不匹配的条件、一个引用了错误反向引用的替换,或者漏掉的 [L] 标志,都可能悄无声息地破坏你原本想要的重定向。

这个工具模拟这一解析过程:粘贴你的指令,填入一个测试 URL,它就会逐条指令地遍历规则,准确显示哪个 RewriteCond 匹配了、哪个 RewriteRule 被触发了,以及最终结果——外部重定向(包含状态码和 Location)、内部重写、403/410,或者因为没有任何匹配而直接放行。

使用方法

  1. 将你的 .htaccess 重写/重定向指令粘贴到 .htaccess 内容 框中。
  2. 输入 要测试的 URL / 路径——例如 /article/42,可选带查询字符串。
  3. 如果你的规则依据 %{HTTPS} 或 %{HTTP_HOST} 进行分支,请开启 模拟 HTTPS 请求,并设置 Host 请求头(强制 HTTPS 和 www 规范化规则中很常见)。
  4. 在 结果 行查看最终结果,在下方的 跟踪 表格中查看每条指令的判定过程。

编辑时会自动运行——无需点击按钮。

模拟范围

  • RewriteEngine On|Off、RewriteBase
  • RewriteCond——基于正则的 CondPattern(支持 ! 取反和 [NC])以及精确匹配的 =literal 形式,并使用与 Apache 相同的 AND/[OR] 逻辑串联
  • RewriteRule——模式匹配(与每目录 .htaccess 的常规约定一样,匹配时不含开头的斜杠),支持 NC、L/END、R/R=NNN、F、G、P 和 QSA 标志,以及 %{VAR} / %N / $N 反向引用展开
  • Redirect、RedirectMatch、RedirectPermanent、RedirectTemp(mod_alias)

指令会从上到下一次性读取。Apache 自身在非终止性重写(没有 L)之后,会从规则集顶部重新开始匹配;而此工具不会重新循环,因此专门为捕获第二轮中已被重写的 URL 而编写的规则,在这里不会再次触发。大多数常见的重写链(如 http 转 https 重定向、www 规范化、美化 URL 转查询字符串)并不依赖这种行为。文件存在性测试(-f、-d、-s)以及 RewriteCond 中的字典序比较,始终会报告"未匹配",因为没有可供检查的真实文件系统或请求;P(代理)会被报告,但从不会真正去抓取。

常见问题

这个工具会测试我的线上服务器吗? 不会——一切都基于你粘贴的文本,使用你提供的测试 URL 以及模拟的 Host/HTTPS 值运行。不会抓取任何网络内容。

为什么我的 RewriteRule 没有触发? 查看跟踪表——它会显示规则之前每个 RewriteCond 的结果,以及该规则自身的模式是否匹配。一个常见原因是模式开头的斜杠 /:.htaccess 语境下的模式匹配的是不含开头斜杠的路径,因此 ^/article 永远不会匹配 /article/42——请改用 ^article。

如果我只想重新缩进 .htaccess,而不需要测试呢? 请使用 .htaccess Formatter。如果你想通过开关来生成常见的规则块(强制 HTTPS、www 规范化、防盗链等),而不是手动编写,请使用 .htaccess Rule Generator。

隐私

此工具完全在你的浏览器中运行。你的 .htaccess 内容和测试 URL 永远不会被上传到服务器。

htaccessapachemod_rewriterewrite ruleredirecturl rewriteweb serverseo

喜欢这些工具?去掉广告吧。

一次性付款即可永久移除您账户中的所有广告。无需订阅,不追踪。