Проблема синтаксиса Nginx '~ *'

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

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

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

1
задан JP Silvashy 29 May 2010 в 22:08
поделиться

1 ответ

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

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

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

if ($cookie_developer = "true") {
}
2
ответ дан 3 September 2019 в 00:13
поделиться
Другие вопросы по тегам:

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