Bene, ho una domanda leggermente diversa da questa : non voglio mappare due variabili contemporaneamente, voglio mappare una variabile usando altre due come parametri.
In effetti ho letto nella documentazione relativa alla direttiva sulle mappe che:
Prima della versione 0.9.0 era possibile specificare solo una singola variabile nel primo parametro.
Quindi, dato che ho nginx 1.8, mi aspetto di poter usare più di una singola variabile nel primo parametro.
Questo mi ha portato a pensare che in questo esempio potrei scrivere qualcosa come le ultime due direttive della mappa:
map $http_user_agent $bot {
default "";
"~*Googlebot" "yes";
"~*MJ12bot" "yes";
"~*bingbot" "yes";
etc.
}
map $request $bot $np {
default "" "";
default "yes" "";
"~*newproject" "" "yes";
"~*newproject" "yes" "";
}
map $bot $np $regular {
"" "" "yes";
"" "yes" "";
"yes" "" "";
}
Ma non funziona ( nginx -t
restituisce a
numero di argomenti non valido nella direttiva "map"
)
Quindi, come è possibile specificare diverse variabili nel primo parametro? Oppure, cosa significa effettivamente la documentazione, se l'ho fraintesa?