nginx中location指令是不支持参数的
比如当匹配/weixin_new/books.do?method=queryFlightDomestic时转向代理网站。像下面这样就是不行的:
location /weixin_new/books.do?method=queryFlightDomestic {
proxy_pass http://10.14.80.193:8091;
}
这样会匹配所有以/weixin_new/books.do开头的URL,后面的参数部分3上没起作用。这种情况只能用if指令解决:
location /weixin_new/books.do {
if ($query_string = 'method=queryFlightDomestic') {
proxy_pass http://10.14.80.193:8091;
break;
}
proxy_pass http://10.14.79.154:9090;
}
这样表示/weixin_new/books.do?method=queryFlightDomestic转向193,其他的URL转向154。