Различать %2F и / в правилах rewrite

Roman Odaisky roma at qwertty.com
Mon Mar 9 13:51:26 MSK 2009


Добрый день!

> > потому что %2F и / считаются одним и тем же. Как можно повлиять на это
> > поведение?
> Это поведение - оно в соответствии с RFC 2616, 3.2.3 URI
> Comparison.

Посмотрел, оказалось так:

RFC 2616
3.2.3 URI Comparison
   Characters other than those in the "reserved" and "unsafe" sets (see
   RFC 2396 [42]) are equivalent to their ""%" HEX HEX" encoding.

RFC 2396
2.2 Reserved Characters
      reserved    = ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" |
                    "$" | ","

Где-то читал, что ftp://vasya@host//etc/passwd — это /home/vasya//etc/passwd, 
а /etc/passwd — это ftp://host/%2Fetc/passwd.

Ну да ладно, по зрелом размышлении я вообще решил заменять слеши (как и все 
остальные символы, недопустимые для VFAT) на что-нибудь еще, чтобы клиентам 
было проще сохранять файлы. Спасибо за идею с $request_uri ~ ..., может, 
пригодится.

Роман.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2272 bytes
Desc: not available
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20090309/8c736d94/attachment.bin>


More information about the nginx-ru mailing list