我有一个网址,例如:
http://www.example.com/something?abc=one&def=two&unwanted=three
我想删除不需要的网址参数,并保留网址的其余部分,它应该如下所示:
http://www.example.com/something?abc=one&def=two
此特定参数可以是URL中与其他参数相关的任何位置。
问题看起来非常简单,但我尝试了很多次但最终都失败了。
答案 0 :(得分:2)
整个查询字符串存在于$args
变量或$request_uri
变量的末尾。您需要构造一个正则表达式来捕获要删除的部分之前和之后的所有内容。
例如:
if ($request_uri ~ ^(/something\?.*)\bunwanted=[^&]*&?(.*)$ )
{
return 301 $1$2;
}
有关详情,请参阅this document,if
使用this caution。