302重定向最适合临时活动域名跳转,不干扰seo且无缓存问题;推荐用return指令而非rewrite,配置简洁高效,并需注意server_name精确匹配、协议完整性及reload验证。

临时活动域名跳转用 302 重定向很合适,它不干扰搜索引擎对原域名的收录,浏览器也不会长期缓存,适合推广页、限时活动、灰度测试等场景。
明确用 return 指令(推荐)
性能高、写法简洁、语义清晰,比 rewrite 更直接。
只需在对应 server 块中配置:
server {
listen 80;
server_name promo.old.com; # 活动旧域名
return 302 https://event.new.com$request_uri;
}
-
$request_uri会完整保留原始路径和查询参数,比如访问promo.old.com/2024?utm=ad,会跳到https://event.new.com/2024?utm=ad - 若目标站只支持 HTTPS,务必写全协议;若需兼容 HTTP,可改用
$scheme://event.new.com$request_uri
需要按路径条件跳转?用 location + return
比如只把 /campaign/* 下的请求跳转,其余正常处理:
server {
listen 80;
server_name promo.old.com;
location ^~ /campaign/ {
return 302 https://event.new.com$request_uri;
}
# 其他路径走默认逻辑(如静态资源或后端代理)
location / {
proxy_pass http://backend;
}
}
注意几个关键点
- 不要混用 rewrite + redirect 除非有正则需求(比如路径变形),日常跳转 return 足够
- 确保
server_name精确匹配活动域名,避免影响其他站点 - 修改后执行
nginx -t && nginx -s reload生效,别忘了验证
顺便提一句:别用 301 替代 302
301 会被浏览器和 CDN 强制缓存,活动结束后旧链接可能还跳着,清理成本高;302 则每次请求都走 Nginx,可控性强。











