如果URL包含“ /?&”,则Nginx重定向

时间:2019-04-20 08:13:20

标签: nginx redirect

如果url仅包含“ /?&”,我需要帮助重定向

示例:

https://example.com/?&

重定向到:

https://example.com/

已经尝试使用此代码,但无法正常工作。

location /?& {
  return 301 http://$server_name;
}

1 个答案:

答案 0 :(得分:1)

locationrewrite伪指令在不包含查询字符串(从?开始的URI部分)的normalised URI上运行。

要重定向所有以?&结尾的URI,可以测试$args变量。例如:

if ($args = "&") { return 301 $uri; }

或者,仅重定向URI /?&,您可以测试$request_uri变量。例如:

if ($request_uri = "/?&") { return 301 /; }