从URL中删除特定查询参数

时间:2017-08-08 14:50:11

标签: redirect mod-rewrite nginx url-redirection

我有一个网址,例如:

http://www.example.com/something?abc=one&def=two&unwanted=three

我想删除不需要的网址参数,并保留网址的其余部分,它应该如下所示:

http://www.example.com/something?abc=one&def=two

此特定参数可以是URL中与其他参数相关的任何位置。

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

1 个答案:

答案 0 :(得分:2)

整个查询字符串存在于$args变量或$request_uri变量的末尾。您需要构造一个正则表达式来捕获要删除的部分之前和之后的所有内容。

例如:

if ($request_uri ~ ^(/something\?.*)\bunwanted=[^&]*&?(.*)$ ) 
{
    return 301 $1$2; 
}

有关详情,请参阅this documentif使用this caution

相关问题