• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

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

mysql 搞代码 4年前 (2022-01-09) 20次浏览 已收录 0个评论

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;
acc来源gaodaimacom搞#^代%!码网ess_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


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:关于nginx配置中的多个if的匹配规则

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址