Spotkałem tutaj kilka pytań i odpowiedzi, które wykorzystują tę składnię:
location @default {
# ...
}
location /somewhere {
try_files $uri @default;
}
Szukałem wysoko i nisko w Googles i nie mogę znaleźć żadnej dokumentacji na ten temat. Co to znaczy i jakie są niektóre z jego praktycznych zastosowań? Czy jest to rodzaj deklaracji zmiennej i przypisania? Przepraszamy za pytanie dla początkujących.
W przykładzie, który zacytowałeś w swoim pytaniu:
Jeśli przychodzące żądanie zostanie odebrane pod adresem http: // twoja-domena / gdzieś , wówczas lokalizacja pasuje / gdzieś i próbuje sekwencyjnie w dwóch miejscach znaleźć odpowiedź, jak określono w dyrektywie try_files, odpowiadając przy pierwszej udanej próbie.
location @default
dyrektywie. Named_location nigdy nie będzie pasował do żądania przychodzące i jest używany w odniesieniu do określenia odpowiedzi w innych dyrektyw lokalizacji.W ten sposób można uniknąć instrukcji if (jeśli plik istnieje, użyj go, w przeciwnym razie odpowiedz zgodnie ze specyfikacją w dyrektywie location @default). Można go zatem wykorzystać jako skrót dla warunku if. „Jeśli” stwierdzenia są zdecydowanie „odrzucone” przez autorów nginx ( jeśli jest zły ), ponieważ mają pewne ograniczenia i mogą nie dać oczekiwanego rezultatu.
źródło