Хотите узнать, есть ли лучший способ перенаправить строка запроса, кроме использования if в этой ситуации.
Пример URL: http: // foo. com /? p = 123 - http://foo.com/new
Текущее использование, если:
location / {
if ($args ~ p=123) {
rewrite ^ https://foo.com/new? permanent;
}
}
Вы должны проверить фактическое значение аргумента, чтобы случайно не сопоставить такие вещи, как op = 1234
, когда вы хотите сопоставить p = 123
].
По соображениям производительности вы также должны использовать return
вместо rewrite
, если вам действительно не нужно сопоставление регулярных выражений.
Например:
if ($arg_p = 123) {
return 301 https://example.com/new;
}
(И, конечно же, return
отлично подходит для использования с if
.)