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

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐