знак вопроса не обрабатывается в regexp

Sergej Kandyla sk.paix at gmail.com
Wed Oct 14 18:43:41 MSD 2009


Igor Sysoev пишет:
>>      server_name  mydomain.com
>>       location ~ ^.*(EXAMPLE_).*$ {
>>                 rewrite ^ http://mydomain.com redirect;
>>       }
>>
>> если в запросе содержится знак вопроса '?'
>> то данный регексп не обрабатывается.
>>
>>     
>        if ($args ~ EXAMPLE_) {
>             rewrite ^ http://mydomain.com/?  redirect;
>        }
>
> location учитывает только URI без query string по одной простой причине:
> в query string можно написать чего угодно и в любом порядке, например,
>
>      /index.html?one=1&two=2
>      /index.html?two=2&one=1
>      /index.html?one=1&two=2&и-ещё-чего-то-до-кучи
>
> И как это тестировать ?
>
>   
Спасибо, не знал.

                rewrite ^/.*(EXAMPLE).*$  http://$host redirect;
                if ($args ~ EXAMPLE) {
                        set $args "";
                        rewrite ^ http://$host  redirect;
                }







More information about the nginx-ru mailing list