Re: Как понимать термин URI в документации?
Vladislav
tvword на gmail.com
Вс Янв 10 14:31:17 MSK 2010
Sergey Shepelev пишет:
>> rewrite ^ http://www.mydomain.nl$request_uri permanent;
>>
>>
>> А чем равно ^ в данном случае, если запрос http://www.site.com/foo?param
>> ???
>>
>>
>
> Почитайте какое-нибудь введение в регекспы.
>
> ^ это начало строки.
>
Балиннн, я знаю, что это начало строки (или ее конец, как сказал Игорь),
не суть важно. Важно, что это строка целиком.
Знаю и что такое регулряные выражения.
Я спрашиваю в контексте определения, что такое URI в документации nginx!
Если в запросе http://www.site.com/foo?param, URI - это *foo*. То тогда
*^ = foo*
Тогда что на что на что перезаписывается (делается rewrite) в выражении
http://mydomain.nl$request_uri?
Вот в чем вопрос?
Игорь написал следующее, но я че-то не могу до конца осознать -
Цитата:
Если в строке замены указаны аргументы, то предыдущие аргументы запроса
добавляются после них. Можно отказаться от этого добавления, указав в конце
строки замены знак вопроса:
rewrite ^/users/(.*)$ /show?user=$1? last;
Попробую еще раз.
Делается запрос http://www.site.com/foo?param
Надо сделать rewrite на http://site.com/foo?param
Пишем правило:
rewrite ^ http://site.com/$request_uri? permanent;
Здесь ^ = foo, которое перезапиывается на
http://site.com/$request_uri?
в конце выражения стоит знак вопроса, значит
предыдущие аргументы запроса *не* добавляются после них.
Не понятно что не добавляется после чего.
В итоге получаем, что foo перезаписывается в
http://site.com/$request_uri?, а результирующая строка принимает вид
http://www.site.com/http://site.com/$request_uri.
Извините, но я здесь ничего не понял.
Если кто может, расскажите подробно в чем фокус.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20100110/07a3bcf0/attachment.html>
Подробная информация о списке рассылки nginx-ru