nginx evil, если альтернатива?

Хотите узнать, есть ли лучший способ перенаправить строка запроса, кроме использования if в этой ситуации.

Пример URL: http: // foo. com /? p = 123 - http://foo.com/new

Текущее использование, если:

location / {
  if ($args ~ p=123) {
  rewrite ^ https://foo.com/new? permanent;
  }
}
0
задан 29 December 2018 в 20:08
1 ответ

Вы должны проверить фактическое значение аргумента, чтобы случайно не сопоставить такие вещи, как op = 1234 , когда вы хотите сопоставить p = 123 ].

По соображениям производительности вы также должны использовать return вместо rewrite , если вам действительно не нужно сопоставление регулярных выражений.

Например:

if ($arg_p = 123) {
    return 301 https://example.com/new;
}

(И, конечно же, return отлично подходит для использования с if .)

2
ответ дан 4 December 2019 в 13:22

Теги

Похожие вопросы