Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Различать %2F и / в правилах rewrite
Hello!
On Sun, Mar 08, 2009 at 11:58:41AM +0200, Roman Odaisky wrote:
> Добрый день!
>
> Обнаружилось, что правило
>
> rewrite ^/некий/путь/([^/]+)/[^/]+\.([^/.]+)$ /другой/путь/$1.$2;
>
> не срабатывает на URL наподобие
>
> /некий/путь/42/Схема%20стека%20TCP%2FIP.png
>
> потому что %2F и / считаются одним и тем же. Как можно повлиять на это
> поведение?
Это поведение - оно в соответствии с RFC 2616, 3.2.3 URI
Comparison.
Если хочется нестандартного поведения - используйте
if ($request_uri ~ ...) {
set $a1 $1;
set $a2 $2;
rewrite ^ /другой/путь/$a1.$a2;
}
Только потом не говорите что вас не предупреждали.
Maxim Dounin
|