X-Accel-Redirect doesn't URL-decode paths

Nicholas Sherlock n.sherlock at gmail.com
Wed Sep 8 03:48:13 MSD 2010

On 8/09/2010 3:20 a.m., gustavo wrote:
> I'm using the X-Accel-Redirect feature in Nginx, but it fails to send
> some files (returning a 404) because it does not URL-decode the
> requested path. It does work when the file name need not be
> URL-decoded.
> So, for example, I have a file called "Mudança_Climática.pdf" in
> /srv/static (whose URL alias on Nginx is "/internal/static"), my
> application would set the X-Accel-Redirect header to:
>      X-Accel-Redirect: /internal/static/Mudan%C3%A7a_Clim%C3%A1tica.pdf
> But then, Nginx will try to look up that file in the filesystem as:
> /srv/static/Mudan%C3%A7a_Clim%C3%A1tica.pdf
> However, if I requested "Climate_Change.pdf", it works.

Doesn't the HTTP Location header work the same way, i.e. doesn't apply 
URL decoding?

Nicholas Sherlock

More information about the nginx mailing list