Conditional rule
Igor Sysoev
igor at sysoev.ru
Wed May 12 22:15:00 MSD 2010
On Wed, May 12, 2010 at 07:13:00PM +0200, Vincent MAUGE wrote:
> Sorry for the previous partial email.
>
> Hey,
>
> I need to add conditional rule with more than one test.
> I need something like :
> if ($remote_addr != "aa.bb.cc.dd" && $request_uri !~ ^/XXXXX$)
> {
> rewrite ...
> }
> else{
> proxy_pass ...
> }
>
> I don't find the good nginx syntax to obtain a such behaviour.
> I try :
> if ( ) {
> if () {
> }
> }
> without success
>
> What is the proper way to do such condition ?
nginx does not support such syntax.
However, the proper way is to not use "if"s at all.
nginx should be configured using locations but not if/rewrites.
Instead of backward logic:
if ($request_uri !~ ^/XXXXX$) {
part A
}
you should use clear logic:
location / {
part A
}
location /XXXXXX {
part B
}
What do you want to configure ?
--
Igor Sysoev
http://sysoev.ru/en/
More information about the nginx
mailing list