Групповые/вложенные условия в nginx через переменные

В nginx не поддерживаются условия вида if (cond1 && cond2)  а также вложенные условия вида if (cond1) {if (cond2) {...} }  К примеру у нас есть запрос вида /bn/bn.js , который мы реврайтим на обработчик /admin/code-bn.php , но если в GET параметрах присутствует значение mini, нам нужно реврайтить на другой обработчик /admin/code-bn-mini.php. Кусок конфига выглядит в данном случае так:

Т.е. мы объявили переменную $conditions в самом основном условии и уже к ней добавляем дополнительный суффикс MINI, если в аргументах найдено совпадение. Это гарантирует нам, что символы «mini» ищутся лишь в $uri вида /bn/bn.js, а не на всех.

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *