<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>Thank you  Francis for your response and excuse the late reply.<div>Using map is cool idea, though i have around 2000 possible imageId and size and more than 9 million user id..  they're always imageIDs are prone to change, wouldn't that mean i have to add them manually every time ? </div><div><br></div><div>On another note, let's say i mapped all wanted cache keys, how can i force the incoming requests to match with that key ? as i would be stuck with the same dilemma as now, since the uri as it's missing the "?" isn't treating the arguments as query string but part of the uri itself... </div><div><br></div><div>i am currently researching a way to do the following:</div><div><br></div><div>location ~*  /some/path/rest/v2/</div><div>if  ^/giveit.view* </div><div>set $URI http://mysite.com/some/path/rest/v2/giveit.view?(whatever matched after view)</div><div>set $args $args_id$arg_size</div><div><div>set $cache_key $scheme$host$uri$is_args$args;</div></div><div><br></div><div>This would only work if the $args reads from the previously set $URI </div><div>this is obviously a pseudo code, but i'm hoping i'm on the right path here... <br><div><br><br><div>> Date: Wed, 17 Sep 2014 08:17:07 +0100<br>> From: francis@daoine.org<br>> To: nginx@nginx.org<br>> Subject: Re: trouble changing uri to query string<br>> <br>> On Mon, Sep 15, 2014 at 02:57:34PM +0300, Roland RoLaNd wrote:<br>> <br>> Hi there,<br>> <br>> this is all untested by me...<br>> <br>> > i have a url looking as such:  mysite.com/some/path/rest/v2/giveit.view&user=282&imageid=23&size=80<br>> > <br>> >  i want the cache key to match imageid=23&size=80 without the "user" part.<br>> <br>> You could try using "map" to define a variable which is 'the url without<br>> the part that matches "user=[0-9]+&"', and then use that in the cache<br>> key, perhaps?<br>> <br>> > $args isn't matching because incoming url lacks the "?" part, so $uri is detected as mysite.com/some/path/rest/v2/giveit.view&imageid=23&size=80<br>> <br>> $url probably starts with the character "/".<br>> <br>> > Is there a way i could force nginx to detect that query string, or rewrite/set the args on each request ?<br>> <br>> There is no query string.<br>> <br>> You may find it easier to switch to "standard" http/cgi-like urls. But<br>> that's a separate thing.<br>> <br>>       f<br>> -- <br>> Francis Daly        francis@daoine.org<br>> <br>> _______________________________________________<br>> nginx mailing list<br>> nginx@nginx.org<br>> http://mailman.nginx.org/mailman/listinfo/nginx<br></div></div></div>                                          </div></body>
</html>