comparing two variables

Mauro Stettler mauro.stettler at
Mon Jun 13 11:44:42 MSD 2011


i wrote a module which is extracting certain values out of a session
that is stored in memcache and stores it into a variable in my nginx
config. so this seems to work fine so far.

now i'm trying to compare $uri with one of these variables and do a
rewrite accordingly. but it seems that the if that comes from nginx'
rewrite module cannot only compare a variable with a static string or
a static regex, but not with another variable.

is that true?

i've tried following and except this if everything works:


    // get session from memcache
    eval $session {
        set $memc_key $cookie_session_id;
        memc_pass session_memcache;

    // extract username from session
    php_session_parse $user $session

    // strip the formatting of the value, so that f.e. s:6:"drevil"
becomes drevil
    php_session_strip_formatting $stripped_user $user;

    // show all profile data
    if ($stripped_user ~* $uri)
        rewrite . d41d8cd98f00b204e9800998ecf8427e:profile_prod$uri:full last;

    // show public profile
    rewrite . d41d8cd98f00b204e9800998ecf8427e:profile_prod$uri last;


i would be thankful for any idea how to implement this condition

More information about the nginx mailing list