Nginx的使用总结(四)
rewrite配置
nginx的rewrite配置是nginx配置中比较核心的部分,rewrite可以实现域名跳转(重定向)、URL重写(伪静态)、动静分离(跳转域名,并接入CDN实现加速)。rewrite依赖pcre库,用到的模块是ngx_http_rewrite_module。
rewrite相关指令
if指令
格式: if (条件判断) { 具体的rewrite规则 }
- 条件举例:
条件判断语句有nginx内置变量、逻辑判断符号和目标字符串三部分组成。 其中,内置变量是nginx固定的非自定义的变量,如$request_method、$request_uri等。 逻辑判断符号有 =、!=、~、~*、!~、!~*。 !表示取反,~为匹配符号,它右侧为正则表达式,区分大小写,而~*为不区分大小写匹配。 目标字符串可以是正则表达式,通常不用加引号,但表达式中有特殊符号时,比如空格、花括号、分号等,需要用单引号引起来。
- 示例1:
if ($request_method = POST)
{
return 405;
}
当请求的方法为POST时,直接返回405状态码。if中支持用return指令。
- 示例2:
if ($ht