最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
旧版网站永久跳转时 Nginx 301 重定向如何设
时间:2026-08-12 20:56:49 编辑:袖梨 来源:一聚教程网
使用return 301是最简洁高效的重定向方式,需在独立server块中监听旧域名的80或443端口,server_name写全旧域名,跳转目标写死新域名并拼接$request_uri以保留路径和参数。
直接用 `return 301` 指令是最简洁、高效且推荐的做法,不依赖正则、不触发 location 匹配,避免循环或权重丢失。监听旧域名,返回新地址
在独立的 server 块中监听 80 端口(或 443,视旧站协议而定),明确指定旧域名,并用 return 301 拼出新地址:
-
server_name必须写全旧域名,比如old-site.com www.old-site.com - 跳转目标建议写死新域名(如
https://new-site.com),避免用$host引发开放重定向风险 - 保留原始路径和参数,加上
$request_uri—— 这对 SEO 和用户体验很关键 - 如果旧站只有 HTTP,而新站只支持 HTTPS,直接写
https://更稳妥,防止$scheme返回 http 导致跳到不安全地址
多旧域名统一跳转
多个旧域名指向同一个新站点时,不用为每个域名单独写 server 块:
- 把所有旧域名并列写在
server_name后,空格分隔 - 只需一条
return 301 https://main-site.com$request_uri; - Nginx 会自动匹配任一域名命中即执行跳转
HTTP → HTTPS + 域名统一要分开处理
如果既要换协议又要换域名(例如 http://old.com → https://new.com),不能靠一个规则覆盖所有情况:
- 先确保有一个仅监听 80 端口的
server块,专门做旧域名跳转 - 不要把它和新站的 443 SSL 配置混在一个块里,否则跳转逻辑可能失效
- 新站的 443
server块必须独立存在,含正确证书路径和ssl on相关配置
验证与上线前检查
配置完别急着 reload,这几步不能跳过:
- 运行
nginx -t确认语法无误,尤其注意return行末尾有没有分号 - 执行
systemctl reload nginx或nginx -s reload生效 - 用
curl -I http://old-site.com/some-path?test=1查看响应头是否为301 Moved Permanently,Location 是否正确 - 浏览器访问测试,确认地址栏跳转后是新域名+原路径,且状态码是 301(不是 302)
相关文章
- 迅捷 FW316R 无线路由器端口映射设置指南 08-12
- 迅捷 FW316R 无线路由器WDS桥接设置 08-12
- 迅捷 FW316R 无线路由器内网主机上网权限设置 08-12
- 迅捷 FW316R 无线路由器网速限制设置 08-12
- 腾讯电脑管家如何设置开机自启 08-12
- 迅捷 FW316R 无线路由器WiFi网络设置 08-12