TrueURL
TrueURL

菜单

301 永久移动

301 永久重定向:资源已永久迁移到 Location 响应头给出的新 URL,客户端和搜索引擎今后都应使用新 URL。

原因短语
Moved Permanently
是否重定向
是
默认可缓存
是

301 Moved Permanently 告诉客户端:目标资源已被分配了一个新的永久 URL(通过 Location 响应头发送),今后引用它时都应使用这个新 URL。浏览器会立即跟随;能够修改链接的客户端,例如书签管理器和链接检测工具,也应相应地更新链接。

301 响应可以被启发式缓存。浏览器会存储永久重定向,如果没有设置 Cache-Control 响应头,往往会保存很长时间;之后再访问时,浏览器会直接前往新 URL,不再请求旧 URL。因此,错误的 301 很难撤销:可以先用较短的 Cache-Control: max-age 测试,或者在迁移最终确定之前先使用临时重定向。

由于历史原因,用户代理在跟随 301 时可以把请求方法从 POST 改为 GET,所有主流浏览器也都是这样做的。如果重定向后的 POST 必须保持为 POST(例如 API 或表单端点),应改用 308 Permanent Redirect。

响应示例

HTTP
HTTP/1.1 301 Moved Permanently
Date: Fri, 06 Nov 2026 10:15:32 GMT
Server: nginx
Content-Type: text/html
Content-Length: 154
Connection: keep-alive
Location: https://www.example.com/new-page

<html>
<head><title>301 Moved Permanently</title></head>
<body>
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx</center>
</body>
</html>

SEO 与重定向检测

301 是在不损失搜索可见度的前提下迁移内容的标准方式。Google 将它视为“目标 URL 应成为规范 URL”的强信号,因此新 URL 会逐渐在搜索结果中取代旧 URL;Google 也已表示,3xx 重定向不会损失 PageRank。域名迁移、从 HTTP 重定向到 HTTPS、www 规范化、更改 URL 别名(slug)以及合并页面时,都应使用 301。应把每个旧 URL 重定向到最接近的对应页面,而不是首页,否则 Google 可能会将其视为软 404。

重定向链要尽量短。每多一跳就多一次往返,而 Googlebot 最多跟随 10 跳,超过后就会报告重定向错误。内部链接和站点地图应直接指向最终 URL,避免出现 http:// → https:// → https://www. → /new-page 这样的链。301 重定向检测会显示每一跳是否都是永久重定向,HTTP 重定向状态码详解则对比了 301 与 302、307 和 308 的区别。

常见原因与使用场景

  • 网站迁移到 HTTPS 或新域名,每个旧 URL 都重定向到对应的新 URL。
  • 将带 www 和不带 www 的主机名,或带与不带末尾斜杠的 URL 变体,统一为一种规范形式。可以用 HTTPS 重定向检测和 URL 末尾斜杠检测进行测试。
  • 页面被重命名,或被合并到另一个页面。
  • 误设了 301,而浏览器一直在使用缓存的重定向。先修复服务器配置,然后清除浏览器缓存,或在无痕窗口中测试。

301 重定向检测

使用免费的 TrueURL 重定向检测工具,逐跳查看一个 URL 返回的每一个状态码。