什么是重定向规则生成器
重定向规则生成器是一个实用的在线工具,能够将您需要重定向的网站源地址与新目标地址列表,转换为可在 Web 服务器或托管平台上直接运行的特定重定向代码。您只需提供一个包含映射关系的 CSV 文件,选择重定向是永久还是临时,并选择您的 Web 运行环境,工具即可自动生成相应的规则代码供您复制或下载。
在进行网站迁移、网站结构调整或清理网站旧内容时,网站管理员或开发人员经常需要生成重定向规则。本工具可以极大简化这一流程,帮助您高效、准确地完成配置。
输入要求与限制
为了确保成功生成重定向规则,您的输入需要满足以下规范:
- 重定向映射 CSV:您需要上传一个 CSV 文件,其中必须包含两列,表头分别为
source和target(或destination)。表头行之后的每一行应分别包含一个源 URL 和一个目标 URL。- 源地址格式:可以是一个完整的 HTTP 或 HTTPS URL,也可以是以
/开头的路径。 - 目标地址格式:可以是一个完整的 HTTP 或 HTTPS URL,也可以是根相对路径。
- 文件大小限制:CSV 文件大小需在 5 MB 以下。
- 映射条数限制:一次最多支持 2,000 条映射。
- 源地址格式:可以是一个完整的 HTTP 或 HTTPS URL,也可以是以
规则生成逻辑与边界情况
本工具在处理数据时遵循严格的匹配与过滤规则,以确保生成代码的精确性:
- 精确匹配:生成的重定向均为精确匹配。Nginx 和 Apache 的输出会锚定到精确的源路径,Vercel 也会接收相同的字面路径。
- 域名过滤:输入中的源主机名(域名)会被自动移除。
- 不支持的字符:源地址中如果包含查询字符串(Query Strings)、片段(Fragments)或通配符样式(Wildcard-style)的模式,将会被系统拒绝。
- Vercel 状态码处理:在 Vercel 环境下,输出会使用
statusCode来确保维持所选的 301 或 302 状态。这是因为 Vercel 默认的permanent开关会产生 308 重定向,而其temporary开关会产生 307 重定向。
运行环境支持
本工具支持为以下三种主流的 Web 服务器和托管环境生成重定向规则:
- Nginx:生成适用于 Nginx 配置文件(如
nginx.conf)的重定向指令。 - Apache:生成适用于 Apache 服务器(如
.htaccess文件)的重定向规则。 - Vercel:生成适用于 Vercel 配置文件(
vercel.json)的重定向配置。
常见错误提示及原因
在解析 CSV 文件或生成规则的过程中,如果遇到不符合规范的数据,工具会触发相应的错误提示:
- 文件选择错误:若未选择文件或文件格式不正确,会提示“请先选择 CSV 文件。”或“请选择.csv 文件。”。
- 文件超限:若文件体积过大,会提示“这个 CSV 太大,请选择小于
{max}的文件。”。若映射行数超过 2,000 行,则提示“一次最多处理{max}条映射。”。 - 格式与解析错误:
- 若 CSV 为空,提示“CSV 中没有重定向映射。”。
- 若格式破损,提示“CSV 在第
{line}行附近无法解析,请检查引号和逗号。”。 - 若缺少必要列,提示“表头需要 source 和 target(或 destination)两列。”。
- 若某行缺失数据,提示“第
{line}行需要同时填写源地址和目标地址。”。
- 地址合规性错误:
- 源地址或目标地址格式不正确时,分别提示“第
{line}行的源地址无效,请使用 HTTP(S) URL 或以 / 开头的路径。”或“第{line}行的目标地址无效,请使用 HTTP(S) URL 或以 / 开头的路径。”。 - 若源地址包含参数或通配符,提示“第
{line}行的源地址含查询参数或片段,请只保留源路径。”或“第{line}行使用了通配符或路由模式字符。本工具只接受精确源路径。”。 - 若 URL 长度超过 2,048 个字符,提示“第
{line}行有 URL 超过 2,048 个字符。”。
- 源地址或目标地址格式不正确时,分别提示“第
- 重复性错误:若存在重复的源路径,提示“第
{line}行重复了源路径{source},每个源路径只能出现一次。”。 - 系统限制:若计算超时或失败,会提示“生成用时过长,请检查 CSV 后重试。”或“无法生成规则,请检查 CSV 后重试。”。
隐私与数据安全说明
您的隐私和数据安全对我们至关重要。您的 CSV 文件以及生成的重定向规则完全在您的本地浏览器中进行处理,没有任何数据会被上传到 BroBroGo 服务器。
常见问题
CSV 文件应该怎么写?
首行请使用 source 和 target 列名,target 也可以写成 destination。之后每行填写一个完整的 HTTP/HTTPS 源 URL 或以 / 开头的路径,再填写完整或以 / 开头的目标地址。
生成的是精确匹配规则吗?
是。Nginx 和 Apache 规则都会锁定完整源路径,Vercel 也使用同一路径。完整源 URL 中的域名会被去掉;源地址若带查询参数、片段或通配模式会被拒绝,因为三个环境对此的处理不同。
为什么 Vercel 输出使用 statusCode?
Vercel 的 permanent 开关对应 308,temporary 对应 307。使用 statusCode 才能严格输出你选择的 301 或 302。标准 Vercel 部署最多共有 2,048 条路由,因此本工具一次最多接受 2,000 条映射。