Улучшенная директива "if" в модуле Rewrite

Содержание

Обзор

Модуль "If Extend" расширяет директиву "if" модуля Rewrite nginx следующими возможностями:

  • Поддерживаются множественные условия на основе логических операторов "и" или "или".
  • Для оригинального "if" дополнительно поддерживаются операторы сравнения:
    • <
    • >
    • !< или >=
    • !> или <=

Директивы

ifall

Синтаксис ifall (условие 1) (условие 2) ... {...}
По умолчанию
Контекст Server, Location

Определяет множественные условия. Если все условия имеют значение true, выполняются директивы внутри скобок "{}". Эта директива работает так же, как оригинальная директива "if", но дополнительно поддерживаются следующие операторы сравнения:

  • <
  • >
  • !< или >=
  • !> или <=


Пример:

ifall ($remote_addr = 192.168.1.1) ($http_user_agent ~ 'Mozilla') ($server_port > 808) {
                return 404;
}


ifany

Синтаксис ifany (условие 1) (условие 2) ... {...}
По умолчанию
Контекст Server, Location

Определяет множественные условия. Если любое условие true, то выполняются директивы внутри скобок "{}". В остальном все то же самое, что и в директиве "ifall".