文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>关于nginx配置中的多个if的匹配规则

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

时间:2010-09-16  来源:xjc2694

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

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载