一聚教程网:一个值得你收藏的教程网站

热门教程

品牌重塑更换域名时 Nginx 301 重定向如何设

时间:2026-08-15 12:25:48 编辑:袖梨 来源:一聚教程网

品牌重塑换域名时,Nginx 301 重定向须用 return 301 在独立 server 块中精准配置:旧域名(含 www/非 www)分别监听 80,跳转至新域名 HTTPS 地址;多旧域名可共用一个 server 块,server_name 空格分隔;HTTPS 旧站需额外 443 server 块并配有效证书;上线前需 nginx -t 验证、curl 测试响应头与参数保留,并清缓存或先用 302 测试。

品牌重塑换域名时,Nginx 的 301 重定向必须做到精准、安全、可验证,核心是用 return 301 指令在独立 server 块中配置,避免 rewrite 带来的不确定性。

旧域名全量跳转到新域名

为每个旧域名(含 www 和非 www)单独设一个监听 80 的 server 块,强制跳转到新域名的 HTTPS 地址:

  1. server_name 写明确的旧域名,例如 oldbrand.comwww.oldbrand.com(不要混写)
  2. return 301 后直接写 https://newbrand.com$request_uri,不依赖 $scheme 或 $host,防止协议错误或开放重定向
  3. 若旧站无 HTTPS 证书,仍应跳转到新站 HTTPS —— 浏览器会自动处理证书协商,不能因旧站没配 SSL 就返回 http

多个旧域名合并跳转

如果涉及多个旧品牌域名(如 oldbrand.cn、brand-old.com、legacy-site.net),统一跳到同一个新主域:

  1. 把所有旧域名列在同一个 server 的 server_name 后,空格分隔
  2. 只写一行 return 301 https://newbrand.com$request_uri
  3. Nginx 会自动匹配任一命中域名并执行跳转,无需重复配置

HTTPS 旧站也要单独处理

如果旧域名已部署 HTTPS,需额外加一个监听 443 的 server 块:

  1. server_name 同样设旧域名,ssl_certificate 和 ssl_certificate_key 必须有效(可用旧证书,或临时续签)
  2. return 301 https://newbrand.com$request_uri —— 协议保持一致,避免混合内容或跳转链
  3. 切勿在 HTTPS server 块里 return http://,否则浏览器会拦截不安全跳转

验证与上线注意事项

配置完成后不是直接 reload 就完事:

  1. 先运行 nginx -t 确认语法无误
  2. curl -I http://oldbrand.comcurl -I https://oldbrand.com 分别检查响应头,确认含 301 Moved Permanently 和正确的 Location
  3. 测试路径和参数是否保留:访问 http://oldbrand.com/blog/2024?id=123 应跳转到 https://newbrand.com/blog/2024?id=123
  4. 上线前清空浏览器缓存,或临时改用 302 测试逻辑;正式发布后切回 301
  5. 同步更新 DNS 解析、SSL 证书申请(新域名)、以及搜索引擎站长平台的变更验证

热门栏目