Redirect 从URL中删除特定的查询参数

Redirect 从URL中删除特定的查询参数,redirect,mod-rewrite,nginx,url-redirection,Redirect,Mod Rewrite,Nginx,Url Redirection,我有一个URL,例如: http://www.example.com/something?abc=one&def=two&unwanted=three 我想删除URL参数,保留URL的其余部分,它应该如下所示: http://www.example.com/something?abc=one&def=two 相对于其他参数,此特定参数可以位于URL中的任何位置 这个问题看起来很简单,但我尝试了很多次,但最终都失败了。整个查询字符串出现在$args变量中或$reques

我有一个URL,例如:

http://www.example.com/something?abc=one&def=two&unwanted=three
我想删除URL参数,保留URL的其余部分,它应该如下所示:

http://www.example.com/something?abc=one&def=two
相对于其他参数,此特定参数可以位于URL中的任何位置


这个问题看起来很简单,但我尝试了很多次,但最终都失败了。

整个查询字符串出现在
$args
变量中或
$request\u uri
变量的末尾。您需要构造一个正则表达式来捕获要删除的部分前后的所有内容

例如:

if ($request_uri ~ ^(/something\?.*)\bunwanted=[^&]*&?(.*)$ ) 
{
    return 301 $1$2; 
}
有关更多信息,请参阅,以及关于
if
的使用