Welcome! Log In Create A New Profile

Advanced

Re: map & rewrite

Maxim Dounin
November 18, 2015 01:04PM
Hello!

On Wed, Nov 18, 2015 at 07:17:30AM -0500, den68 wrote:

> Доброго время суток, не получается следующая схема:
>
> nginx.conf:
>
> map $args$query_string $admvasya {
> default 0;
> ~do=vasya$ 1;
> ~do=vasya\b.*$ 1;
> ~do=vasya*.*$ 1;
> ~\b.*do=vasya$ 1;
> ~\b.*do=vasya\b.*$ 1;
> ~\b.*do=vasya*.*$ 1;
> ~\b.*\bdo=vasya$ 1;
> ~\b.*\bdo=vasya\b.*$ 1;
> ~\b.*\bdo=vasya*.*$ 1;
> ~do=vasya 1;
> do=vasya 1;
> }
>
> virt_host.conf:
>
> if ($admvasya = 1) {
> rewrite ^/home/(.*)$ /home/admvasya_go_home.php?do=petya&other=87654
> last;
> }
>
> проверял в $args и $query_string искомые поля присутствуют.
> в мапе изложены все варианты пришедшие на ум из темы регекспов...

Возможно, следует начать с того, что именно вы хотите получить и
что именно получаете вместо этого.

Из очевидных проблем:

- $args и $query_string - синонимы, и соответственно при запроса
вида "/home/foo?do=vasya" проверятся будет строка вида "do=vasyado=vasya";

- практически все строки в map'е - бесполезны чуть более, чем
полностью, особенно в свете наличия "~do-vasya";

- если rewrite используется флаг "last", т.е. после срабатывания
rewrite'а будет заново искаться совпадение URI и location, и
если запрос снова попадёт в тот же location - будет цикл и
ошибка "rewrite or internal redirection cycle..." в логах.

--
Maxim Dounin
http://nginx.org/

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

map & rewrite

den68 November 18, 2015 07:17AM

Re: map & rewrite

Maxim Dounin November 18, 2015 01:04PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 307
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready