粘贴您的 .htaccess 重写和重定向规则,输入测试 URL,准确查看 Apache 如何处理它们——逐步、完全在客户端完成。
一个 .htaccess 重定向测试工具 模拟 Apache 处理您的重写和重定向规则的方式,无需真实服务器。您粘贴 .htaccess 内容和测试 URL,工具会解析每个指令——RewriteRule、RewriteCond、Redirect 和 RedirectMatch——按顺序对您的 URL 进行评估,就像 Apache 的 mod_rewrite 引擎一样。
这在站点迁移、HTTPS 强制、域名合并或任何 URL 重构期间至关重要,因为单个错误的规则可能导致重定向循环、404 错误或 SEO 排名下降。离线测试可完全消除此风险。
一个 RewriteRule 包含三部分:与 URL 路径匹配的 正则表达式模式,定义新 URL 的 替换字符串,以及可选的控制行为的 标志。当正则表达式包含捕获组(括号)时,每个组会生成一个反向引用:第一个组为 $1,第二个为 $2,依此类推。
例如,RewriteRule ^products/([^/]+)/([0-9]+)$ /shop/$1?id=$2 [R=301,L] 将匹配 /products/widget/42,捕获 widget 为 $1,42 为 $2,并以 301 状态重定向到 /shop/widget?id=42。
RewriteCond 指令添加必须为真的条件,以便 下一个 RewriteRule 执行。常见条件包括:
%{HTTPS} — 测试连接是否为 HTTPS(on)或 HTTP(off)。%{HTTP_HOST} — 测试请求中的域名(例如 www.example.com)。%{REQUEST_URI} — 测试完整请求路径,包括前导斜杠。条件从上到下评估,默认情况下它们是 AND 关系。如果任何条件失败,关联的 RewriteRule 将被完全跳过。
标志出现在 RewriteRule 末尾的方括号中。对重定向最重要的有:
[R=301] — 执行 HTTP 301(永久)外部重定向。这是 SEO 安全 URL 更改的标准。[R=302] — 执行临时重定向。用于 A/B 测试或临时维护页面。[L] — 最后规则。如果匹配则停止处理后续规则。[NC] — 不区分大小写。使模式匹配不区分大小写。[QSA] — 附加查询字符串。重定向时保留原始查询字符串。将此工具与我们的 SERP 预览器 结合使用,以验证重定向后的页面在搜索结果中的显示是否正确,并使用我们的 本地排名检查器 确认迁移后排名是否得到保留。
它在客户端解析您的 Apache 重写和重定向规则,并模拟 Web 服务器处理给定 URL 的方式。它会显示匹配的规则、评估的条件、捕获的反向引用以及最终重定向指向的位置——全部无需部署到真实服务器。
此测试工具支持带正则模式和反向引用($1、$2)的 RewriteRule、Redirect 和 RedirectMatch 指令、针对 HTTP_HOST、REQUEST_URI 和 HTTPS 的 RewriteCond 条件,以及常用标志包括 [R=301]、[R=302]、[L](最后规则)和 [NC](不区分大小写)。
当 RewriteRule 模式匹配 URL 路径时,正则表达式中的每个捕获组(括号)会生成一个反向引用。第一个组为 $1,第二个为 $2,依此类推。这些反向引用会替换到目标字符串中,动态构建重定向 URL。
部署未经测试的重定向规则可能导致重定向循环、页面损坏、因错误的 301 链导致 SEO 排名下降,甚至使整个站点无法访问。离线测试可验证行为是否正确,捕获循环,并确认反向引用正确解析——全部无需冒 live 站点的风险。