Nginx根据url参数匹配跳转

例如请求地址是htpp://www.xx.com,想要根据某个参数跳转到不同的地址,htpp://www.xx.com?type=a跳转到A地址,htpp://www.xx.com?type=b跳转到B地址

可以通过nginx的$query_string、$args($args #这个变量等于请求行中(GET请求)的参数,例如foo=123&bar=blahblah;)来实现:

location / { 
   # 注意if后面要跟着空格
   if ($query_string ~* ^(.*)type=a){
      proxy_pass   http://otherA;
   }
}

或者:

location / { 
   # 注意if后面要跟着空格
   if ($args ~* "type=a"){
      proxy_pass   http://otherA;
   }
}

 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐