Nginx rewrite发送除一个查询参数外的所有查询参数
在将用户从Nginx rewrite发送除一个查询参数外的所有查询参数,nginx,url-rewriting,Nginx,Url Rewriting,在将用户从domain1.com重定向到domain2.com之前,我需要从请求URI中删除某个查询参数。查询参数是migrate 因此,从这个URL: domain1.com/check?migrate=true&uuid=1821 我想将用户带到此URL: domain2.com/check?uuid=1821 可以有更多的查询参数,我想保留它们,除了migrate您需要对包含整个查询字符串的变量应用正则表达式-因此$request\u uri或$args都是可能的候选变量 要仅重定向/检查
domain1.com
重定向到domain2.com
之前,我需要从请求URI中删除某个查询参数。查询参数是migrate
因此,从这个URL:
domain1.com/check?migrate=true&uuid=1821
我想将用户带到此URL:
domain2.com/check?uuid=1821
可以有更多的查询参数,我想保留它们,除了
migrate
您需要对包含整个查询字符串的变量应用正则表达式-因此$request\u uri
或$args
都是可能的候选变量
要仅重定向/检查,您可以使用:
location = /check {
if ($args ~* ^(.*&)?migrate=[^&]*(&(.*))?$)
return 301 http://domain2.com$uri?$1$3;
}
return 301 http://domain2.com$uri?$args;
}
请参见关于的使用,如果