Re: Писать в лог доступ к определенным ссылкам
IvanMiller
nginx-forum на forum.nginx.org
Ср Фев 24 06:22:57 UTC 2016
Да, мне надо ИЛИ. Ваш вариант сработал, буду тестировать.
Дайте линк, откуда можно понять все про map.
что значит 000 0 ? Почему так записывается ?
Иван Wrote:
-------------------------------------------------------
> В письме от 21 февраля 2016 00:29:35 пользователь IvanMiller написал:
> > Любое совпадение.
> >
> > http {
> > map $request:$http_referer:$uri $confirm {
> >
> "~^/mail_confirm/:/mydomain-e.com/mail_confirm/:mail_confirm" 1;
> > default 0;
> > }
>
> Уточните, пожалуйста, ЛЮБОЕ совпадение подаразумевает ИЛИ, Вы же
> пишете
> конструкцию для И.
>
> То есть логи будут писаться, если
> $request ~ ^/mail_confirm/ И $http_referer ~
> /mydomain-e.com/mail_confirm/ И
> $uri ~ mail_confirm.
>
> Попробуйте заменить
> 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;
> }
>
> >
> > server {
> >
>
> > if (!-e $request_filename) {
> > rewrite ^ /index.php last;
> > }
>
> Здесь и ниже if лучше заменить на
> try_files $uri /index.php
>
> > location /refac {
> > if (!-e $request_filename) {
> > rewrite ^ /refac/index.php last;
> > }
> > }
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
Posted at Nginx Forum: https://forum.nginx.org/read.php?21,264614,264743#msg-264743
Подробная информация о списке рассылки nginx-ru