Синтаксическая проблема Nginx '~ *' - PullRequest
1 голос
/ 30 мая 2010

Я проверяю состояние, чтобы проверить, есть ли у пользователя файл cookie, подобный этому:

 if ($http_cookie ~* "developer=true" ) {
   ...
 }

Я не знаком с синтаксисом ~*, я предполагаю, что это означает, что он «содержит», но как быть с противоположным? например, что если я хочу проверить, не содержит ли $http_cookie этот файл cookie?

1 Ответ

2 голосов
/ 30 мая 2010

Вы можете проверить, что переменная не соответствует регулярному выражению, используя !~ (с учетом регистра) и !~* (без учета регистра):

if ($http_cookie !~* "developer=true") {
}

Кстати, если вы хотите проверить значение файла cookie с именем «разработчик», было бы, вероятно, более ясно сказать:

if ($cookie_developer = "true") {
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...