Например, я хочу сделать это:Как я могу использовать оператор «или» в инструкции nginx «if»?
if ($http_user_agent ~ "MSIE 6.0" || $http_user_agent ~ "MSIE 7.0" (etc, etc)) {
rewrite^${ROOT_ROOT}ancient/ last;
break;
}
вместо этого:
if ($http_user_agent ~ "MSIE 6.0") {
rewrite^${ROOT_ROOT}ancient/ last;
break;
}
if ($http_user_agent ~ "MSIE 7.0") {
rewrite^${ROOT_ROOT}ancient/ last;
break;
}
Nginx отвергает этот синтаксис (минус (и т.д., и т.д.)), и я не вижу ничего в документах об этом. Заранее спасибо.
Кроме того, мы решили не использовать директиву $ antique_browser, так что это не вариант.
В этом случае это так же просто, как 'if ($ http_user_agent ~" MSIE [67] \. ")'. Вы забыли, что это регулярное выражение. –
@AlexeyTen вы должны написать ответ с этим - IMO предпочтительнее другого предлагаемого решения. –