Как я могу написать условие в тестировании конфигурации nginx, если q
параметр был введен в URL?
Это не работает:
if ($arg_q) {
return 301 "/someurl";
}
Он ловит такие URL-адреса, как
/search?entered_search=1&q=123
Но он не улавливает такие URL, как
/search?entered_search=1&q=
Что-то вроде этого может сработать. Он говорит: «Если строка запроса содержит последовательность 'q =', отправьте перенаправление». По крайней мере, я думаю, что это говорит о том, что я не очень хорош с регулярными выражениями. Я протестировал его, и он работает, но могут быть побочные эффекты в зависимости от того, какие строки запроса вы можете получить.
if ($query_string ~ q=) {
return 301 "https://www.example.com";
}
Этот ответ помогло мне разобраться.