开发者学堂课程【HTTP 代理系统第四课时:Nginx 使特殊用法】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/803/detail/13875
Nginx 特殊用法
目录
1. Rewrite 规则
2. Nginx 的特殊用法
1. Rewrite规则
1.1 Rewrite 与Redirect 的区别
Rewrite 是为了让URL 更加标准化、一致化。Redirect 是为了让访问从一个地址跳转到另外一个地址。
Rewrite 不会修改地址栏显示的URL;Redirect 会修改URL。
Redirect 会产生两次HTTP 请求;Rewrite 只产生一次HTTP 请求。
1.2 Nginx 和Rewrite 功能
Nginx 通过内置的ngx-http-rewrite-module 默认支持了Rewrite
Nginx 的几个核心指令:if break rewrite
| If 指令
| Break 指令
| Return指令
| Rewrite 指令
- rewrite 指令可以完成请求的重写
- regex 是用于匹配的正则表达式
- replacement 是后续用于替换的地址
- flag 可以控制rewrite 规则,常用的flag 包括
1.last 终止继续在本location 块中处理接收到的URI,并将此处重写的URi作为一个新的
2.URI,使用各location 块进行处理
3.break 将此处重写的URI 作为一个新的UR,在本块中继续进行处理。
4.redirect:将重写后的URI返回给客户端,状态代码为302,指明是临时重定向URI opermanent:将重写后的URI返回给客户端,状态代码为301,指明是永久重定向URI
举例:rewrite 规则-phpBB
举例:rewrite 规则discuz
2.Nginx 特殊用法
| Nginx 日志格式