您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

关于nginx配置中的多个if的匹配规则

2024/2/19 13:13:55发布23次查看
location ~ /bb { if ( $ args ~ _kw=[\w]+ ) { access_log logs/kw ; access_log logs/all ; } if ( $ args ~ (_pg=[\w]+|_pc=[\w]+) ) { access_log logs/pg ; access_log logs/all ; } if ( $ args ~ _kw=[\w]+.*(_pg=[\w]+|_pc=[\w]+) ) { access_
location ~ /bb {
if ($args ~ &_kw=[\w]+){
                        access_log logs/kw;
                        access_log logs/all;
                }
if ($args ~ (&_pg=[\w]+|&_pc=[\w]+)){
                        access_log logs/pg;
                        access_log logs/all;
                }
if ($args ~ &_kw=[\w]+.*(&_pg=[\w]+|&_pc=[\w]+)){
                        access_log logs/kw;
                        access_log logs/pg;
                        access_log logs/all;
                }
access_log logs/all;
}
http://1.1.1.1/bb?&_kw=1777&_pg=-1&_pc=1
对于上面的配置,访问上面的url时,即匹配第一个if(因为\w为[a-za-z0-9_],不包含“-”,又匹配最后一个if,后面的if生效。(匹配多个if的args,后面的if生效)
验证:
location ~ /bb {
if ($args ~ &_kw=[\w]+){
                        access_log logs/kw;
                }
if ($args ~ &_kw=[\w]+){
                        access_log logs/kw111;
                }
}
我没有在nginx的文档中找到明确的有关于多个if生效的规则说明,如果谁知到在什么地方,请告诉我,谢谢。
另:关于nginx location(不是多个if)的匹配规则:
http://wiki.nginx.org/nginxhttpcoremodule#location
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product