Nginx negating condition/ if else
24,701
Try to make one setting default and other one turned on by condition:
expires max;
valid_referers none blocked something.com;
if ($invalid_referer) {
rewrite ^ /leech.jpg;
expires epoch;
}
Related videos on Youtube
Author by
Francisco Javier Banos Lemoine
Updated on September 18, 2022Comments
-
Francisco Javier Banos Lemoine over 1 year
I've came into situation where I cannot find a way around it, neither with tons googling.
valid_referers none blocked something.com; if ($invalid_referer) { rewrite ^ /leech.jpg; expires epoch; }
Everything works fine so far, but I want to create if referer is valid to expire max; I couldn't find how to negate if statement or create else in nginx configuration. I tried:
else { expires max; }
or (notice exclamation mark)
if(!$invalid_referer){ expires max; }
but it doesn't work as it works in almost everywhere.
-
Francisco Javier Banos Lemoine about 12 yearsif ($invalid_referer = 0) is working for me, thanks to guys from #nginx. But your solution is even better