rewrite指令可在 server 块或者 location 块中配置。
语法:
rewrite regex replacement [flag];
1、rewrite 接收的 uri 不包含 host 地址,不包含参数。可通过全局变量$uri、$args获取。
2、flag:last、break、redirect、permannet
last:中止在本location块中处理接收到的URI,并将此处重写的URI作为一个新的URI,使用其他 location 块进行处理。让所有的location块重新匹配和处理新的URI。
break:将重写后的URI作为一个新的URI,在本块中继续进行处理。将重写后的地址在当前的location块中执行,不会将新的URI转向到其他location块。新的URI始终在同一个location块中。
redirect:302临时重定向。
permanent:301永久重定向。
3、rewrite_log
rewrite_log on; 开启URL重写日志。以 notice 级别输出到 error_log指令配置的日志文件中。