什么是 301 跳转?#
301 是一个 HTTP 状态码,意思是“永久移动”。浏览器或搜索引擎请求旧网址时,服务器返回 301 和一个 Location 响应头,告诉对方这个页面已经永久搬到新地址,以后请直接访问新地址。
常见的几个状态码:
- 200:请求成功,页面正常返回
- 301:永久跳转,旧地址的权重会传给新地址
- 302:临时跳转,搜索引擎通常继续保留旧地址
- 404:页面不存在
- 5xx:服务器出错
什么时候需要 301 跳转?#
- 更换域名:整站从旧域名搬到新域名,比如域名被墙后启用新域名。
- 统一主域名:带 www 和不带 www、http 和 https 只保留一个,其余全部跳到主域名。
- 多个域名指向同一网站:为保护品牌注册的 .net、.cn 等域名,统一跳到主站。
- 改版或删除页面:网址结构变了,或者删除的页面还有外链,把旧网址跳到最相关的新页面。
为什么用 301,而不是其他跳转?#
302、JavaScript 跳转和 meta refresh 也能把访客送到新页面,但搜索引擎不一定把它们当成永久搬迁:302 会让旧地址继续留在索引里,JavaScript 和 meta refresh 常被用于作弊,容易被视为可疑。301 明确告诉搜索引擎旧地址已经不再使用,索引和外链权重会集中到新地址。
如何检查 301 是否设置正确?#
在浏览器里打开旧网址、看到跳到了新页面,并不能说明用的是 301,也可能是 302 或 JavaScript 跳转。状态码在响应头里,需要查看响应头:
- 浏览器开发者工具:按 F12 打开 Network 面板,再访问旧网址,第一条请求的 Status 应为 301,Location 指向新地址。
- 命令行:运行
curl -I http://旧域名,返回 301 Moved Permanently 和正确的 Location 即为设置成功。 - 在线工具:用站长工具等 HTTP 状态码查询服务检查。
正确的结果是:旧网址返回 301,跳转后的新网址返回 200,中间只跳一次。多次跳转(A→B→C)会拖慢访问,也会损耗权重,应该直接从 A 跳到 C。
用 Power301 设置 301 跳转#
在 Power301 添加跳转规则,再把域名 CNAME 到 Power301,就能完成 301 跳转,并自动签发 SSL 证书,HTTP 与 HTTPS 都能跳。详细步骤见域名被墙 301 跳转设置教程。
