2016-07-05 6 views
1

Ich überprüfe einige IF Bedingung (innerhalb der Server-Richtlinie), wenn es bestanden wird, dann überprüfen Sie andere IF Bedingung und wenn es auch bestanden wird dann einige Tests zurück . Mein Code ist wieKann nicht verwendet werden, wenn Bedingung in einer if-Bedingung in nginx Konfigurationsdatei app.conf

if ($a != "Tree") { 
if ($a != "Plant") { return 403 "It is not tree or plant"; 
} 
} 

folgt Wenn ich diesen Code verwende ich bin Fehler für die zweite bekommen IF als „if“ Richtlinie hier nicht erlaubt.

+0

Nginx Config ist keine Programmiersprache und ziemlich begrenzt. Und 'if' sollte in der Regel nicht verwendet werden. Sagen Sie besser, was das eigentliche Problem ist, das Sie lösen wollen, und wahrscheinlich gibt es einen besseren Weg, damit umzugehen. –

Antwort

0

Wenn Sie mehrere Bedingungen überprüfen möchten, können Sie this

In Ihrem Fall verwenden, es wäre:

if ($a != "Tree") { 
    set $test no-tree; 
} 

if ($a != "Plant") { 
    set $test "${test}+no-plant"; 
} 

if ($test = no-tree+no-plant) { 
    return 403 "It is not tree or plant"; 
} 

Aber ich würde mit ihm, es sei denn es ist wirklich notwendig, nicht empfehlen.

+0

Warum wird diese Lösung abgelehnt? – AxelWass

+0

Danke ... es hat für mich funktioniert – raj

Verwandte Themen