跳转规则生成器
每行写一条“旧地址 -> 新地址”,选好网站运行的平台,就能得到可直接粘贴的规则:Apache .htaccess、nginx、Cloudflare Pages _redirects、Netlify、Vercel 和 Next.js。它还会在规则上线前找出死循环、跳转链和重复规则。
页面永久搬家用 301 或 308(搜索引擎会把排名传给新地址);只有短期搬迁才用 302 或 307。
检查结果
读取了 7 条规则,去掉重复和自己跳自己后保留 7 条。
- 第 4 行: 2 步的跳转链:/a -> /b -> /c。访客和搜索引擎要发出 2 次请求;请让第一个地址直接指向 /c。
- 第 6 行: /x 处在跳转死循环中,访客会来回弹跳。修好之前,这条规则不会出现在输出里。
- 第 7 行: /y 处在跳转死循环中,访客会来回弹跳。修好之前,这条规则不会出现在输出里。
循环: /x -> /y -> /x
放进网站根目录的 .htaccess 文件(需要启用 mod_alias,多数主机默认已启用)。每条规则只精确匹配这个路径。
使用方法
- •每条跳转写成 /旧路径 -> /新路径,或 -> https://其他网站/页面。在行尾加 301、302、307 或 308 可以单独指定状态码,下拉框设置默认值。
- •检查结果会按行列出所有问题:自己跳自己、重复的规则、死循环(A 到 B 再回到 A)以及跳转链(A 到 B 再到 C)。跳转链会拖慢访客并浪费抓取预算,所以默认输出会跳过中间步骤,让 A 直接到 C。
- •选择你的平台。每个标签都会说明输出放在哪里、匹配什么。处在死循环里的规则在修好之前不会出现在输出中。
它能做什么,不能做什么
- •每条规则只精确匹配一个路径。通配符、正则、按查询参数匹配和按域名匹配在各平台写法都不同,请手写。
- •跳转链和死循环只在你列出的规则内部查找;服务器上其他地方设置的跳转,本页看不到。
- •请先在测试环境验证一条规则,并留意缓存:浏览器会长时间记住 301 和 308。
- •永久搬迁用 301 或 308,短期用 302 或 307。307 和 308 保持请求方法不变(POST 仍是 POST),301 和 302 可能把它变成 GET。
常见问题
- 301、302、307、308 有什么区别?
- 301 和 308 是永久,302 和 307 是临时。307 和 308 保证浏览器用同样的方法再请求一次(对表单和接口很重要),而 301、302 允许浏览器把 POST 改成 GET。普通页面通常用 301。
- 301 之后排名还在吗?
- 搜索引擎把 301 当作把页面排名转移到新地址的信号。请至少保留一年,并把自己的链接和站点地图改成新网址。
- 为什么跳转链不好?
- 每多一步就多一次请求,页面加载更慢,爬虫跳转几次后也可能不再继续。请让旧地址直接指向最终页面。
- .htaccess 文件放在哪里?
- 放在网站根目录(和 index.html 或 index.php 同级),服务器需要是启用了 mod_alias 的 Apache。nginx 没有 .htaccess,请使用 nginx 标签,并重新加载服务器。
- 会上传我的内容吗?
- 不会。规则在本页里生成,不会发送到任何地方。