* -f和!-f用来判断是否存在文件
* -d和!-d用来判断是否存在目录
* -e和!-e用来判断是否存在文件或目录
* -x和!-x用来判断文件是否可执行
Location语法
语法:[size=medium] [color=green]location [=|~|~*|^~] /uri/ { … } [/color][/size]
注:
1、 ~ 为区分大小写匹配
2、 ~* 为不区分大小写匹配
3、 !~和!~*分别为区分大小写不匹配及不区分大小写不匹配
4、 ^~ 匹配路径的前缀,如果找到,停止搜索。
5、 = 严格匹配这个查询。如果找到,停止搜索。
例子:
location = / {
# 只匹配 / 查询。
[ configuration A ]
}
location / {
# 匹配任何查询,因为所有请求都已 / 开头。但是正则表达式规则和长的块规则将被优先和查询匹配。
[ configuration B ]
}
location ^~ /images/ {
# 匹配任何已 /images/ 开头的任何查询并且停止搜索。任何正则表达式将不会被测试。
[ configuration C ]
}
location ~* \.(gif|jpg|jpeg)$ {
# 匹配任何已 gif、jpg 或 jpeg 结尾的请求。然而所有 /images/ 目录的请求将使用 Configuration C。
[ configuration D ]
}
例子请求:
/ -> configuration A
/documents/document.html -> configuration B
/images/1.gif -> configuration C
/documents/1.jpg -> configuration D
注意:按任意顺序定义这4个配置结果将仍然一样。