最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
旧链接永久失效时 Nginx 301 重定向如何做
时间:2026-08-07 10:57:47 编辑:袖梨 来源:一聚教程网
核心是用 return 301 指令实现永久跳转,避免404并保留SEO权重;单页跳转用 location = /old 精确匹配,整站迁移在 server_name 列旧域名并 return 301 https://new$request_uri,目录级批量跳转用 rewrite 正则捕获变量加 permanent 标志;配置后须 nginx -t 检查并 curl -I 验证响应头。
旧链接永久失效时,用 Nginx 做 301 重定向,核心是让服务器明确告诉浏览器和搜索引擎“这个地址已永久迁移”,既避免用户看到 404,也保住 SEO 权重。最推荐、最高效的做法是直接用 return 301 指令,而不是 rewrite —— 它更轻量、执行更快、配置更清晰。
单页面精准跳转(比如 /old-page.html → /new-page)
适用于个别 URL 变更,比如文章改版、栏目结构调整。直接在 server 块里加 location 匹配路径:
- 用
location = /old-page.html精确匹配(等号表示完全相等,避免误匹配) - 搭配
return 301 /new-page;或完整 URL:return 301 https://example.com/new-page; - 如果新地址需保留查询参数(如 ?utm_source=xxx),写成
return 301 /new-page?$args;
整站域名迁移(比如 old-site.com → new-site.com)
适用于品牌升级、换域名等场景。关键是把所有旧域名都纳入监听,并统一跳转:
- server_name 列出全部旧域名,例如:
server_name old-site.com www.old-site.com old.net; - return 后用
https://new-site.com$request_uri,确保路径和参数原样传递 - 协议建议写死为
https://,尤其当新站强制 HTTPS 时,避免 $scheme 返回 http 导致跳转失败
目录级批量重定向(比如 /article/123.html → /posts/123)
适用于 URL 结构整体调整,需要提取路径中的变量。这时 rewrite 更灵活:
- 用正则捕获关键部分,例如:
rewrite ^/article/(d+).html$ /posts/$1 permanent; -
permanent是关键标记,它等价于 return 301,会自动补全 Location 头 - 注意 rewrite 在 location 块或 server 块中均可,但优先级高于 return;若同时存在,rewrite 会先执行
验证与上线前检查
配置完别急着 reload,这几步能避免线上出错:
- 运行
nginx -t检查语法是否正确 - 用 curl 测试响应头:
curl -I http://old-site.com/old-page.html,确认返回HTTP/1.1 301 Moved Permanently和正确的Location:字段 - 检查跳转后是否带多余斜杠、参数丢失、HTTPS 混合内容等问题
- 上线后用站长工具或 Google Search Console 观察旧 URL 的索引是否逐步转向新 URL
相关文章
- 鹅鸭杀法医怎么玩 08-07
- 鸣潮拉海洛荣耀之丘无限万变流卡组怎么搭配 08-07
- 三角洲行动扩容箱如何搭配 08-07
- 四海兄弟故乡刀战怎么玩 08-07
- 王者元歌诡秘之主上线时间是什么时候 08-07
- DeepSeek入口在哪里 08-07