Question about variables

mike mike503 at gmail.com
Thu Dec 4 01:33:17 MSK 2008


I'm going to try this myself - but I'm not sure it can be done.

Our website is structured as

/en-us/stuff
/ru-ru/stuff

etc.

However, the underlying filesystem does not have these virtual locale
paths. It basically is "/stuff"

I want to be able to use

if (!-e $request_filename) {
    rewrite ^/(.*) /foo.php?q=$request_uri last;
}

or

error_page 404 = /foo.php?q=$request_uri;

However, it is trying to use /en-us/stuff for the request filename
instead of just /stuff - is there some way I can set a variable and
remove a portion of the URI, so it is something like

set $customvar someregexhere;
if(!-e $customvar) {
   rewrite ^/(.*) /foo.php?q=$request_uri last;
}

I tried doing a rewrite to remove the /en-us/ etc... but that does not
appear to change the $request_filename (from what I can tell, I am
still trying to mess with it some more) - I still need the original
URI or some way to grab the locale code inside of PHP, so I can't
strip that off and forget about it completely.

Anyone have any ideas?





More information about the nginx mailing list