Re: rewrite со слешом
Sergey Shepelev
temotor at gmail.com
Tue Aug 4 23:17:01 MSD 2009
RFC2616
5.1.2 Request-URI
...
The Request-URI is transmitted in the format specified in section
3.2.1. If the Request-URI is encoded using the "% HEX HEX" encoding
[42], the origin server MUST decode the Request-URI in order to
properly interpret the request. Servers SHOULD respond to invalid
Request-URIs with an appropriate status code.
...
Здесь написано, что nginx обязан развернуть все %hex hex в запросе.
Таким образом, ваш запрос эквивалентен такому:
GET /1/2 HTTP/1.0
Ну, и реврайт отработал нормально. ^(/1.*[^a])$ матчит весь URI /1/2 и
добавляет .a.
2009/8/4 Dmitriy MiksIr <miksir at maker.ru>:
> Если в выделении есть заенкоденный слеш - он разворачивается. В итоге это
> приводит к таким вот результатам:
> 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