Having trouble understand how rewrite works

Denis F. Latypoff latypoff at yandex.ru
Wed Oct 19 16:37:25 UTC 2011


19.10.2011, 23:32, "victor" <noagbodjivictor at gmail.com>:
> Hi Dennis,
>
> Thanks for your help,
>
> If I understand correctly, I need to use $arg_PARAMS. But in the full
> source, I have expressions like this one:
>
> /index\.cfm\?PageID=(2|46)&(.*)$

map $arg_PageID $is_old {
    default    0;
    2            1;
    46          1;
}

server {
    location = /index.cfm {
        if ($is_old) {
            return 301 /;
        }
        # regular rules
    }
}

>
> how do I deal with them in that case, if I can't use regex on the
> query parameters?
>
> Thanks
>
> 2011/10/19 Denis F. Latypoff <latypoff at yandex.ru>:
>
>>  19.10.2011, 22:53, "victor" <noagbodjivictor at gmail.com>:
>>>  Here's a small sample that is not working:
>>>
>>>  server {
>>>          # /index.cfm?PageID=1  --> /
>>  -         location ^~ /index\.cfm\?PageID=1$ {
>>  -                 rewrite ^ / permanent;
>>  +         location = /index.cfm {
>>  +                 if ($arg_PageID = 1) {
>>  +                         return 301 /;
>>  +                 }
>>  +                 try_files $uri @django;
>>>          }
>>>
>>>          location / {
>>>                  try_files $uri @django;
>>>          }
>>>
>>>          location @django {
>>>                  proxy_redirect      off;
>>>                  proxy_set_header    Host            $host;
>>>                  proxy_set_header    X-Real-IP       $remote_addr;
>>>                  proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
>>>
>>>                  include uwsgi_params;
>>  +                 # 'if' is useless here
>>  -                 if (!-f $request_filename) {
>>>                      uwsgi_pass staging;
>>  -                     break;
>>  -                 }
>>>          }
>>>  }
>>>
>>>  It seems like the first directive is ignored when I request
>>>  /index.cfm?PageID=1. The idea is to redirect some old links.
>>>
>>>  Thanks
>>>
>>>  --
>>>  Victor Noagbodji
>>>  http://www.victorsreviews.com
>>>
>>>  _______________________________________________
>>>  nginx mailing list
>>>  nginx at nginx.org
>>>  http://mailman.nginx.org/mailman/listinfo/nginx
>>  --
>>  br, Denis F. Latypoff.
>>
>>  _______________________________________________
>>  nginx mailing list
>>  nginx at nginx.org
>>  http://mailman.nginx.org/mailman/listinfo/nginx
> --
> Victor Noagbodji
> http://www.victorsreviews.com
>
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx

-- 
br, Denis F. Latypoff.



More information about the nginx mailing list