redirect subdomain to internal location

António P. P. Almeida appa at
Wed May 25 19:20:40 MSD 2011

On 25 Mai 2011 15h26 WEST, nginx-forum at wrote:

> Thanks guys,
> I get that now, in my newness to nginx I was overcomplicating
> things. My server_name is now doing what I had hoped to achieve.
> If you can bear with me for one more question, how do I get the
> 'client' out of I want to use the
> 'client' part of the uri to search a redis key/value pair.
> I had success with this code for query strings but couldn't work out
> how to get the first part of the uri to be my key?
> location / {
> eval_escalate on;
> eval $res {
> set_unescape_uri $key $arg_key;
> redis2_query get $key;
> redis2_pass;
> }
> set_by_lua $path "return
> require('redis.parser').parse_reply(ngx.arg[1])" $res;
> proxy_pass http://app_cluster_1/$path;
> proxy_redirect off;
> }

If I'm understanding correctly what you want to do, you'll need a
location with a regex that captures that URI component. E.g.:

location ~ /(?<clientkey>[^/]*)/ {
  set_unescape_uri $key $clientkey;

This will match all URIs of the form  /whatever/anything

Forgot the little detail of the ~ for a regex based location. Now it
seems correct.

--- appa

More information about the nginx mailing list