最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

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

来源:动视网 责编:小采 时间:2020-11-09 08:22:55
文档

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

关于nginx配置中的多个if的匹配规则: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_
推荐度:
导读关于nginx配置中的多个if的匹配规则: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_

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

文档

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

关于nginx配置中的多个if的匹配规则: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_
推荐度:
标签: 中的 规则 里面
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top