Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: rewrite со слешом
- To: nginx-ru@xxxxxxxxx
- Subject: Re: rewrite со слешом
- From: Sergey Shepelev <temotor@xxxxxxxxx>
- Date: Wed, 5 Aug 2009 21:20:24 +0400
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=aeLlZae0KRg6xVeGV0YMk2Sq4+laO6bpQXegvRvc8WI=; b=qmUvcRSHbDCg7ZCCuQ4jOuXSBQTd9WCqmsIZKFPWrBNg1UuyKiCp4JN/dZ5kxyXarC xnfJ7yFd9LTGWlbN/NdcojTeUHTkVT7PxQ2edPL+ixyL32O4jDqZPh8Ys3e7LYuOUpqB DTOhYkD42Ydr2pUbepPooA3iwhkPrnxCDJHCo=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=toxabFkKDOTlriRCug6pMt4k5Cj2RuRoCRt4nmiQLA45YBlLYcJljikJTXTZ4Vw9HQ 9FGLirM3rIS/Q74aCRxsWOwjM0PsqdhvECT5WDkog32QL3yskL+oaqQ/zUToBpzhwOV+ rD91FE6PihfMVFQ8PoBpE3ZXg85fNIfNbTk5w=
- In-reply-to: <20090805140737.GF25850@xxxxxxxxxxxxx>
- References: <h59qm3$78t$1@xxxxxxxxxxxxx> <20090804184814.GC5591@xxxxxxxxxxxxx> <h5c361$5q1$1@xxxxxxxxxxxxx> <20090805140737.GF25850@xxxxxxxxxxxxx>
2009/8/5 Igor Sysoev <is@xxxxxxxxxxxxx>:
> On Wed, Aug 05, 2009 at 05:58:33PM +0400, Dmitriy MiksIr wrote:
>
>> Такое ощущение сложилось после изучения 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.
>
> Ну а как /1%2F2 должно отображаться на файловую систему - как /1/2
> или как /1%2F2 ? И как в таком случае быть с /1%202 ?
>
А урлы не должны отображаться на файловую систему. Не обязаны.
А то под виндой получится файл с именем "/1/2" вместо файла 2 в директории 1.
>> 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
>> >
>> >А почему должно быть иначе ?
>
>
> --
> Игорь Сысоев
> http://sysoev.ru
>
>
|