Getting rewritten and encoded/escaped url in nginx module
Maxim Dounin
mdounin at mdounin.ru
Wed Jun 4 15:04:59 UTC 2014
Hello!
On Tue, Jun 03, 2014 at 02:08:36PM -0700, Jayadev C wrote:
> The problem is ngx_http_proxy doesn't do that either, once
> rewrite is applied the url remains decoded (or I am not reading
> the code correctly).
The proxy does ngx_escape_uri() if URI was rewritten. It has to,
as unencoded URI can't be used in a HTTP request. Take a look at
the ngx_http_proxy_create_request() function as previously
suggested.
> In fact escaping uri back is a bit tricky
> since you have to split the rewritten url to segments and apply
> encoding again (which would require looking at the original url
> to know the correct number of '/'s).
As long as there were encoded slashes, the encoding of these
slashes will be lost if URI was rewritten. This is the expected
behaviour.
--
Maxim Dounin
http://nginx.org/
More information about the nginx
mailing list