rewrite со слешом

Dmitriy MiksIr miksir at maker.ru
Wed Aug 5 17:58:33 MSD 2009


Такое ощущение сложилось после изучения rfc 2396.
В частности / - резервированный символ как сепаратор, а %2F - 
заэскейпенный / именно для того, что бы рассматривать его как данные 
внутри сегмента пути. В данном случае же происходит изменение семантики URI.
Вот, еще
2.4.2. When to Escape and Unescape
Конец первого абзаца
Likewise, a URI must be separated into its components before the escaped 
characters within those components can be safely decoded.


Igor Sysoev пишет:
> On Tue, Aug 04, 2009 at 09:21:07PM +0400, Dmitriy MiksIr wrote:
> 
>> Если в выделении есть заенкоденный слеш - он разворачивается. В итоге 
>> это приводит к таким вот результатам:
>> rewrite ^(/1.*[^a])$ $1.a redirect;
>>
>> GET /1%2F2 HTTP/1.0
>>
>> HTTP/1.1 302 Moved Temporarily
>> Server: nginx/0.7.55
>> Location: http://st.miksir.test.autocom/1/2.a
> 
> А почему должно быть иначе ?
> 
> 






More information about the nginx-ru mailing list