$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