如何在 nginx 中检查 query_string 参数?

如何在 nginx 中检查 query_string 参数?

如何在 nginx 配置中编写条件来测试qURL 中是否输入了参数?

这不起作用:

 if ($arg_q) {
   return 301 "/someurl";
 }

它会捕获如下 URL

/search?entered_search=1&q=123

但它无法捕获以下 URL:

/search?entered_search=1&q= 

答案1

类似这样的代码可能会有效。它说“如果查询字符串包含序列‘q=’,则发送重定向”。至少我认为它是这样说的,我不擅长使用正则表达式。我已经测试过了,它有效,但可能会有副作用,具体取决于您可以获得的查询字符串。

if ($query_string ~ q=) {
  return 301 "https://www.example.com";
}

这个答案帮我解决了这个问题。

相关内容