URL encoded URLs and regex locations


#1

I found this post
(http://thread.gmane.org/gmane.comp.web.nginx.english/9526) regarding
URL encoding, example from the email (e.g. /foo/bar%2Fbaz ->
/foo/bar/baz). I have a regex location (location ~ /my_url*) for a
proxy_pass, adding the ‘/’ to the end of the upstream server gives me an
error:

“proxy_pass” may not have URI part in location given by regular
expression, or inside named location, or inside the “if” statement, or
inside the “limit_except” block

Is there any way around this, I need regex in my location and URL
encoded URLs to work properly.

Thanks.
-Joe


#2

Anyone have any ideas/suggestions? Not possible?

-Joe


#3

On Tue, May 05, 2009 at 12:14:23PM -0700, Joe W. wrote:

Is there any way around this, I need regex in my location and URL
encoded URLs to work properly.

You should omit the “/” (URI part):

 location ~ ^/my_url {
     proxy_pass  http://backend;
 }

Then a client request URI will bed sent to the backend unchanged.