nginx rewrite规则
Nginx Rewrite 规则相关指令有if,rewrite,set,return,break等,其中最关键的就是rewrite。一个简单的Nginx Rewrite规则语法如下:
rewrite ^/b/(.\*)\.html /play.php?video=$1 break;
正则表达式匹配,其中:
~ 为区分大小写匹配;
~* 为不区分大小写匹配;
!
和!*分别为区分大小写不匹配及不区分大小写不匹配。
文件及目录匹配,其中:
-f和!-f用来判断是否存在文件;
-d和!-d用来判断是否存在目录;
-e和!-e用来判断是否存在文件或目录;
-x和!-x用来判断文件是否可执行。
flag标记有:
- last 相当于Apache里的[L]标记,表示完成rewrite;
- break 终止匹配, 不再匹配后面的规则;
- redirect 返回302临时重定向 地址栏会显示跳转后的地址;
- permanent 返回301永久重定向 地址栏会显示跳转后的地址。
当然除了这些以外,Rewrite规则中还会用到一些相应的全局变量,如$args,$url等等