We’re having some really weird issues when trying to pass $args to the
memcached
module.
Here is a snippet.
set $memcached_key $uri$is_args$args;
memcached_pass 127.0.0.1:11211;
error_page 404 = @fallback;
It will pass in $uri$is_args, which in our case is “/index.php?”
If we comment out the 3 lines with memcached stuff and do the following:
add_header “test” $uri$is_args$args;
You can see the entire value just fine. It seems to be a bug in the way
the
module interacts with Nginx but we can’t nail it down. We added a debug
line at
the very beginning of the memcached module and it seems to be empty as
soon as
it is called.
This seems to be a bug with all the extensive testing and configurations
we’ve
tried.
Thank you,
Josh
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:
This will get rewritten to:
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: examplesite.com - This website is for sale! - example site Resources and Information.
This gets rewritten in Nginx as:
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