Nginx 重定向配置详解:return 与 rewrite 的实战指南
重定向是 Web 服务中常见的功能,用于将客户端请求从一个 URL 转发到另一个 URL(如域名迁移、路径调整、HTTPS 强制跳转等)。Nginx 通过return和rewrite两种方式实现重定向,各有适用场景。本文详细讲解两种方式的语法、区别及实战案例,帮助灵活配置重定向规则。
重定向基础:状态码与场景
重定向通过 HTTP 状态码告知客户端跳转类型,常用状态码:
- 301 Moved Permanently:永久重定向(客户端会缓存跳转关系,适合域名更换);
- 302 Found:临时重定向(客户端不缓存,适合临时维护、活动页面跳转);
- 307 Temporary Redirect:临时重定向(严格保留请求方法,如 POST 请求不会转为 GET);
- 308 Permanent Redirect:永久重定向(严格保留请求方法)。
return指令:简单直接的重定向
return指令用于直接返回状态码和跳转 URL,语法简洁,适合固定规则的重定向(如域名跳转、HTTPS 强制跳转)。