$request_uri without args

Richard Kearsley Richard.Kearsley at m247.com
Wed Sep 14 14:30:26 UTC 2011


Agentzh, I'm glad you replied :)
I am trying to find out why something is happening - a bug in nginx or lua module (currently finding it hard to reproduce)
I'm using:

location /proxy
{
	proxy_pass http://backend;
}

access_by_lua '
                                local res = ngx.location.capture("/proxy" .. ngx.var.request_uri, { args = { country = ngx.var.geoip_country_code, host = ngx.var.host } } )

if ngx.var.request_url contains args like this:

/something/blah.jpg?34567

It gives 404

But like this:

/something/blah.jps?anything=34567

Works and gets processed ok

I don't need args at backend - but I DO need the url still encoded

Backend when accessed directly with curl/wget with "/something/blah.jpg?34567" returns ok

Any ideas?

-----Original Message-----
From: nginx-bounces at nginx.org [mailto:nginx-bounces at nginx.org] On Behalf Of agentzh
Sent: 14 September 2011 15:14
To: nginx at nginx.org
Subject: Re: $request_uri without args

On Wed, Sep 14, 2011 at 9:50 PM, Richard Kearsley <Richard.Kearsley at m247.com> wrote:
> Hi
>
> Is it possible to access the $request_uri without the args at the end?
>
> I know I can use $uri - but this returns the url-decoded uri.
>
> I need the url-encoded (I.e. unchanged from original request) but with 
> the args stripped
>

Why not strip $request_uri yourself? You can use "if" + pcre regex or more preferably, set_by_lua/rewrite_by_lua provided by ngx_lua, to process what in $request_uri :)

Regards,
-agentzh

_______________________________________________
nginx mailing list
nginx at nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx



More information about the nginx mailing list