nginx.org/r/map/ru 000 0; значит, что $confirm будет ноль, тогда когда значением строчки $req_confirm$ref_confirm$uri_confirm будет 0, а во всех остальных случаях, так как default 1; будет единица, что соотвествует логическому ИЛИ.
Вашей ошибкой было то, что map не принимает в качестве первого параметра произвольную подстроку, лишь одну или более переменных. Ну и разделить на отдельные map'ы получается понятнее и сложнее ошибиться в регэкспе. В письме от 24 февраля 2016 01:22:57 пользователь IvanMiller написал: > Да, мне надо ИЛИ. Ваш вариант сработал, буду тестировать. > Дайте линк, откуда можно понять все про map. > что значит 000 0 ? Почему так записывается ? > > Иван Wrote: > ------------------------------------------------------- > > Попробуйте заменить > > map $request:$http_referer:$uri $confirm { > > > > "~^/mail_confirm/:/mydomain-e.com/mail_confirm/:mail_confirm" > > > > 1; > > > > default 0; > > > > } > > > > сначала на > > > > map $request $req_confirm { > > > > ~/mail_confirm/ 1; > > default 0; > > > > } > > map $http_referer $ref_confirm { > > > > ~/mydomain-e.com/mail_confirm/ 1; > > default 0; > > > > } > > map $uri $uri_confirm { > > > > ~mail_confirm 1; > > default 0; > > > > } > > > > далее, если Вам таки нужен И, то > > map $req_confirm$ref_confirm$uri_confirm $confirm { > > > > 111 1; > > default 0; > > > > } > > > > Если же хотите ИЛИ, то > > map $req_confirm$ref_confirm$uri_confirm $confirm { > > > > default 1; > > 000 0; > > > > } > >
_______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru