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