跳到正文
马克工具箱

301 重定向规则生成器

网站改版、换域名,旧网址要跳到新网址?粘贴新旧网址(表格里的两列也行),一次生成你的服务器能用的重定向规则。还会检查列表里的链式跳转、循环跳转,以及同一个地址跳到两个地方的冲突,这些都是改版后排名下降的常见原因。

在浏览器本地运行,输入的内容和文件都不会上传

每行一条:旧路径,然后是新路径或完整网址,中间用空格、Tab 或逗号隔开;# 开头的行忽略。可以直接粘贴表格里的两列。

4 条规则

把这些行放进 server { } 块,然后 nginx -t 检查并重新加载。

页面搬家用 301 或 308,搜索引擎会把排名转移到新地址。避免链式跳转:每多跳一次,页面变慢,抓取配额也被浪费。

使用步骤

  1. 每行一条:旧路径,然后是新路径或完整网址。
  2. 选择服务器和状态码(永久搬家用 301)。
  3. 修正工具提示的链式跳转、循环和重复。
  4. 复制或下载规则,加到服务器配置里。

参数说明

301 / 308
永久跳转,搜索引擎会把排名转到新网址。308 还会保留请求方法(POST 仍是 POST)。
302 / 307
临时跳转,旧网址仍保留在索引里。
Nginx(map)
用查表方式匹配,规则有成百上千条也很快。

一份输入,五种输出

每一行是旧路径,后面跟新路径或完整网址,用空格、制表符或逗号分隔。以 # 开头的行会被忽略。以状态码 301、域名 example.com 和下面两行为例:

/old-page /new-page
/blog/2019/post https://example.com/articles/post

Nginx

location = /old-page { return 301 /new-page; }
location = /blog/2019/post { return 301 https://example.com/articles/post; }

Apache .htaccess

RedirectMatch 301 ^/old-page$ /new-page
RedirectMatch 301 ^/blog/2019/post$ https://example.com/articles/post

Caddy

example.com {
    redir /old-page /new-page 301
    redir /blog/2019/post https://example.com/articles/post 301
}

Cloudflare(每条规则一行 CSV,没有表头:来源、目标、状态码)

example.com/old-page,https://example.com/new-page,301
example.com/blog/2019/post,https://example.com/articles/post,301

Nginx(map) 会生成一段放在 http 部分的 map $uri $redirect_to 块,以及放在 server 部分、带 return 301 $redirect_to 的简短 if 块。如果你在列表里再加上 /a /b 和 /b /c,检查器会报告链式跳转 /a → /b → /c,并建议把 /a 直接指向 /c。

常见问题

什么是链式跳转?

A → B → C。每多跳一次页面变慢、抓取配额被浪费,应该让 A 直接跳到 C。

Apache 为什么用 RedirectMatch 而不是 Redirect?

Redirect 按前缀匹配,/old 会连带 /old-page 一起跳。带 ^ 和 $ 的 RedirectMatch 只匹配完全相同的路径。

规则能处理查询参数吗?

规则按路径匹配,大多数服务器会把查询参数原样带过去;但针对某个 ?id=1 的规则需要额外条件,所以工具会对这类行给出提示。

隐私说明

本工具完全在浏览器中运行,文件和文本都在你的设备上处理,不会上传到我们的服务器。

相关工具