A resposta está na documentação oficial .
The “@” prefix defines a named location. Such a location is not used for a regular request processing, but instead used for request redirection. They cannot be nested, and cannot contain nested locations.
Encontrei algumas perguntas e respostas aqui que usam esta sintaxe:
location @default {
# ...
}
location /somewhere {
try_files $uri @default;
}
Pesquisei alto e baixo no Google e não consigo encontrar nenhuma documentação dele. O que significa e quais são alguns de seus usos práticos? É algum tipo de declaração e atribuição variável? Desculpem esta questão de novato.
A resposta está na documentação oficial .
The “@” prefix defines a named location. Such a location is not used for a regular request processing, but instead used for request redirection. They cannot be nested, and cannot contain nested locations.
No exemplo que você cita em sua pergunta:
location @default {
# ...
}
location /somewhere {
try_files $uri @default;
}
Se a solicitação recebida for recebida no link , a localização será correspondida / em algum lugar e ela tentará sequencialmente encontrar, em dois lugares, uma resposta. conforme especificado pela diretiva try_files, respondendo com a primeira tentativa bem-sucedida.
location @default
. Um named_location nunca corresponderá a uma solicitação recebida e será usado por referência para especificar a resposta em outras diretivas de local. Desta forma, uma instrução if pode ser evitada (se o arquivo existir, então use-o, senão responda como especificado na diretiva @default do local). Por isso, pode ser usado como uma abreviação para uma condição if. "Se" declarações são definitivamente "desaprovadas" pelos autores nginx ( se é mal ), pois têm algumas limitações e podem não dar o resultado esperado.
Tags nginx