Rewrite rules with NGinx

Mik J mikydevel at yahoo.fr
Sun Jan 20 16:35:39 UTC 2013


----- Mail original -----

> De : Francis Daly <francis at daoine.org>
> 
> Hi there,
> 
> Untested, but: it feels nicer to avoid rewrite if possible.

Hello Francis,
Thank you for your answer.

>>  Action 1:
>>  I would like that when people access to www.domain.org/nginx the system 
> queries the webpage www.domain.org/page.php?arg=nginx
> 
>   location = /nginx {
>    # proxy_pass or fastcgi_pass and fastcgi_param, or whatever is appropriate
>   }
> 
> "appropriate" depends on which non-nginx thing you use to process php.

I have not installed anything like that at the moment but I'll use fastcgi I think. I'm not sure I fully understand your answer though.

>>  Action 2:
>>  For people who try to access to www.domain.org/page.php?arg=nginx, they are 
> redirected to www.domain.org/nginx
> 
>   location = /page.php {
>    if (#this_should_redirect) {
>     return 302 /nginx;
>    }
>    # proxy_pass or fastcgi_pass, or whatever is appropriate
>   }
> 
> "this_should_redirect" might be based on $arg_arg, or on 
> $query_string,
> or on something similar.

According to your answer I should write something like this
location = /page.php {
if ($arg_arg = nginx) {
     return 302 /nginx;
     }
# proxy_pass or fastcgi_pass, or whatever is appropriate
}



> What should happen for /page.php?arg=other ?
I didn't think about this case but if arg=other, I would like the redirection to go to www.domain.org/http

> And for /page.php?arg=nginx&other?
I'm not sure I understand but the arguements provided will be arg=nginx&language=ru. So yes there could be more than one argument. But my Apache setting has only one argument at the moment and I'd like to move from Apache to Nginx.



More information about the nginx mailing list