Nginx 重写和重定向规则生成器
生成 nginx location 块以进行 301/302 重定向、带有正则表达式捕获组的内部重写 (last/break),或反向代理规则 — 具有内置的重定向循环检测。
输入
每行一条规则:源 => 目标(=> 或 -> 都可以)。以 # 开头的行被忽略。启用正则表达式模式时,在目标中将捕获组引用为 $1、$2 等。
在正则表达式 (location ~ ...) 上匹配 location 块,而不是字面路径。
将原始请求的查询字符串转发到目标。
输出
使用此工具的更多方式
REST API
curl -X POST https://api.iotools.cloud/v1/tool/nginx-rewrite-rule-generator \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"rules": "^/blog/(.+)$ => /articles/$1",
"ruleType": "redirect301",
"useRegex": "true",
"preserveQueryString": "true"
}'替换成您账户中的密钥。工具的字段即为请求体——没有额外包装。
让 AI 代理执行
Use the IOTools `nginx-rewrite-rule-generator` tool (Nginx Rewrite & Redirect Rule Generator) on this input:
YOUR_INPUT_HERE将此粘贴给任何已连接 IOTools MCP 服务器的代理,再加上您的输入内容。
嵌入式小组件
<iframe
src="https://iotools.cloud/embed/nginx-rewrite-rule-generator/"
width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
title="Nginx 重写和重定向规则生成器 — 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 积分起 |
|---|---|
| 需要更多积分? | 查看定价 |
也可通过
使用指南
Nginx 重写和重定向规则生成器 为 nginx 规则列表生成随时可粘贴的 location 块 — 永久/临时重定向(return)、带有正则表达式捕获组的内部 URL 重写(rewrite ... last/break),或反向代理路由(proxy_pass)。它还会在部署前标记常见的重定向循环错误。
如何使用此工具
- 以
源 => 目标的形式在每行输入一条规则(->也可以)。以#开头的行被忽略。 - 选择 规则类型 — 301/302 重定向、内部重写(
last在新 URI 上重新启动 location 匹配,break无新搜索停止处理),或反向代理。 - 启用 将源视为正则表达式模式 以匹配模式而不是字面路径 — 在目标中将捕获组引用为
$1、$2等(例如^/blog/(.+)$ => /articles/$1)。 - 切换 保留查询字符串 以控制原始请求的查询字符串是否转发到目标。
- 复制或下载生成的配置,并检查 验证警告 面板 — 它标记源和目标相同的规则,或相互重定向的两条规则,两者都会在浏览器中导致无限重定向循环。
Return vs. rewrite vs. proxy_pass
- Redirect(
return) 向浏览器发送真实的 HTTP 301/302 响应 — 执行简单 URL 重定向的最快和最可预测的方式,对于简单情况,建议相比rewrite ... permanent使用。 - Rewrite(
last/break) 在内部更改 URI,浏览器不可见重定向 — 对于将美观 URL 路由到不同的内部路径很有用。 - Reverse Proxy(
proxy_pass) 将请求转发到另一个服务器或后端,而不是在本地为其提供服务。
常见问题
为什么它标记了一个循环,但重定向似乎仍然工作正常? 循环检测只捕获两个最常见的错误:源和目标是相同路径的规则,以及相互重定向的两条规则。更长的链(A → B → C → A)或仅在 nginx 的正则表达式/重写处理后才出现的循环不被检查 — 部署前始终针对真实请求测试生成的规则。
我需要构建一个完整的服务器块,而不仅仅是一条规则。 改用 Nginx 服务器块生成器 — 它组装完整的 server { } 块(listen 端口、SSL、gzip、代理模式),而不是单个 location 规则。
我只需要为多个平台进行简单的精确路径重定向,不需要 nginx 特定的语法。 重定向规则生成器 从简单的 URL 列表为 nginx、Apache 和 Next.js 同时生成相同的 301/302 重定向 — 如果不需要正则表达式或反向代理规则,请选择该选项。
我的输入会发送到任何地方吗? 不会。每条规则完全在您的浏览器中生成 — 您输入的任何内容都不会离开您的设备。