Re: пробелы в переменной $uri

Andrey Istochkin alstpostbox на gmail.com
Пт Авг 4 07:40:28 UTC 2017


А если подумать проснувшись, то вариант с map'ом все же рабочий:

map $request_uri $request_uri_noargs {
     "~(?<uri_noargs>[^\?]+)(\?\.+)?" "$uri_noargs";
}


proxy_pass http://127.0.0.1:8080?source=$request_uri_noargs;

4 августа 2017 г., 9:21 пользователь Andrey Istochkin <alstpostbox на gmail.com
> написал:

> Нет, к сожалению, то, что показалось рабочим на первый взгляд, работать не
> будет :/ Map не поможет, и передача уже кодированных параметров тоже плохая
> идея.
>
> пятница, 4 августа 2017 г. пользователь Andrey Istochkin написал:
>
> $uri содержит строку запроса в нормализованном виде(после
>> url-декодирования). Попробуйте передавать $request_uri, это исходная
>> строка запроса. Она, правда, содержит аргументы, но избавиться от них на
>> уровне бэкенда, или даже nginx'а(с помощью map, например), довольно просто.
>>
>> четверг, 3 августа 2017 г. пользователь vitcool написал:
>>
>>> за идею спасибо. рабочая. но придется бекенд допилить чтобы сначала читал
>>> хидеры, и только потом get параметры. но это лучше чем ничего
>>>
>>> вопрос правда остался открытым. почему такое поведение? даже эскейпинг
>>> (%20
>>> вместо пробелов) не помогает.
>>>
>>> Posted at Nginx Forum: https://forum.nginx.org/read.p
>>> hp?21,275786,275836#msg-275836
>>>
>>> _______________________________________________
>>> nginx-ru mailing list
>>> nginx-ru на nginx.org
>>> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>>
>>
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20170804/4b3a4386/attachment-0001.html>


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