$args getting cleared out when using memcached module. Bug?

Josh Turmel jturmel at gmail.com
Fri Mar 27 03:07:55 MSK 2009


We have messed with it some more and have more information.

Basically our 2 request might look like the following, we have discovered the
first example works, while the second example does not.

Example 1: http://api.examplesite.com/1.0/bible/chapter.xml?reference=rev.22

This will get rewritten to:

api.examplesite.com/index.php?api_version=1.0&call=bible/chapter&reference=rev.22

This call works we found out, now for the next example (example 2) that does not
work and results in the key being sent to memcached as "/index.php?" missing the
$args portion:

Example 2: http://api.examplesite.com/1.0/bible/chapter.xml

This gets rewritten in Nginx as:

api.examplesite.com/index.php?api_version=1.0&call=bible/chapter


What we have deduced is that if the initial request entering Nginx has args then
the $args are properly passed when we set $memcached_key ($uri$is_args$args) but
when the initial request (ie Example 2) does not have args, they are empty, even
though we have rewritten the request.

One odd note though is that $is_args is set properly, so this seems to be
exclusive to $args.

Hope this helps.

Thank you,
Josh






More information about the nginx mailing list