1. 正则表达式匹配
1 2 3 4 5 |
== 等值比较; ~ 与指定正则表达式模式匹配,判断是否匹配时区分字符大小写; ~* 与指定正则表达式模式匹配,判断是否匹配时不区分字符大小写; !~ 与指定正则表达式模式匹配,判断是否匹配时区分字符大小写; !~* 与指定正则表达式模式匹配,判断是否匹配时不区分字符大小写; |
2. 文件及目录匹配判断
1 2 3 4 |
-f/!-f 判断指定的路径是否存在且为文件; -d/!-d 判断指定的路径是否存在且为目录; -e/!-e 判断指定的路径是否存在,文件或目录均可; -x/!-x 判断指定路径的文件是否存在且可执行; |
附一个允许指定ip访问,其他ip访问其他页面的实例
1 2 3 4 5 6 7 8 9 10 11 12 13 |
set $specify_ip 0; if ( $remote_addr = 8.8.8.8 ){ set $specify_ip 1; } #注意这里的$remote_addr若使用了负载均衡,这里应该是$http_x_forwarded_for if ( $remote_addr = 192.168.1.168 ){ set $specify_ip 1; } if ( $remote_addr = 192.168.1.169 ){ set $specify_ip 1; } if ( $specify_ip != 1 ) { rewrite ^(.*)\.php$ /weihu.html last; } #将所有对php文件的请求赚到weihu.html |