Sorunuzda alıntıladığınız örnekte:
location @default {
# ...
}
location /somewhere {
try_files $uri @default;
}
Gelen istek http: // alan adınız / bir yerden alınırsa, konum / bir yerde eşleşir ve try_files yönergesinde belirtildiği gibi ilk başarılı denemeyle yanıt vererek bir yanıt bulmak için sırayla iki yerde çalışır.
- önce konumda / bir yerde bir dosya olup olmadığını test eder ve dosya varsa, yanıtta geri döner.
- Bu başarısız olursa, adlandırılmış_konum olarak adlandırılan try_files yedek seçeneğini (@default) dener . Bu adlandırılmış_konumunun yanıtı yönerge ile belirtilir
location @default
. Adlandırılmış bir konum hiçbir zaman gelen bir istekle eşleşmez ve diğer konum yönergelerindeki yanıtı belirtmek için referans olarak kullanılır.
Bu şekilde, bir if ifadesinden kaçınılabilir (dosya varsa, o zaman kullanın, aksi takdirde location @default yönergesinde belirtildiği gibi yanıt verin). Böylece bir if durumu için bir steno olarak kullanılabilir. Bazı sınırlamalar olduğundan ve beklenen sonucu vermeyebileceğinden , "ifadeler" nginx yazarları tarafından kesinlikle "kaşlarını çattıysa" ( kötü ise ).