Re: Писать в лог доступ к определенным ссылкам

Иван nginx на kinetiksoft.com
Ср Фев 24 06:40:15 UTC 2016


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;
> > 
> > }
> > 


----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20160224/fa69e606/attachment.html>


Подробная информация о списке рассылки nginx-ru