web-dev-qa-db-fra.com

Condition de négation Nginx / if else

Je suis arrivé dans une situation où je ne peux pas trouver un moyen de le contourner, ni avec des tonnes googler.

valid_referers none blocked something.com;
if ($invalid_referer) {
    rewrite ^ /leech.jpg;
    expires Epoch;
}

Tout fonctionne bien jusqu'à présent, mais je veux créer si le référent est valide pour expirer max; Je ne pouvais pas trouver comment nier si instruction ou créer autre chose dans la configuration de nginx. J'ai essayé:

else {
    expires max;
}

ou (notez le point d'exclamation)

if(!$invalid_referer){
     expires max;
}

mais ça ne marche pas comme ça marche presque partout.

6
ewooycom

Essayez de faire un paramètre par défaut et un autre activé par condition:

expires max;

valid_referers none blocked something.com;
if ($invalid_referer) {
    rewrite ^ /leech.jpg;
    expires Epoch;
}
7