如何在 nginx 配置中编写条件来测试q
URL 中是否输入了参数?
这不起作用:
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";
}
这个答案帮我解决了这个问题。