Rewrite跳转场景:
- URL看起来更规范、合理
- 企业会将动态URL地址伪装成静态地址提供服务
- 网址换新域名后,让旧的访问跳转到新的域名上
- 服务端某些业务调整
Rewrite 跳转实现:
- ngx_http_rewrite_module 模块支持
- nginx:支持URL重写、支持if条件判断,但不支持else(支持单分支if语句,不支持双分支及多分支)
- 跳转:循环最多可以执行10次,超过后nginx将返回500错误
- rewrite使用nginx全局变量或自己设置的变量,结合正则表达式和标志位实现URL重写以及c重定向
Rewrite 实际场景:
Nginx跳转需求的实现方式:
- 使用rewrite进行匹配跳转
- 使用if匹配全局变量后跳转
- 使用location匹配再跳转
rewrite放在 server{},if{},location{} 段中
- location只对域名后边的除去传递参数外的字符串起作用
对域名或参数字符串
- 使用if全局变量匹配
- 使用proxy_pass 反向代理
Rewrite 命令:
Rewrite 命令语法:
- rewrite <正则> <跳转后的内容> [flag 标记] ;
flag 标记说明:
标记 |
说 明 |