J'ai rencontré quelques questions et réponses ici qui utilisent cette syntaxe:
location @default {
# ...
}
location /somewhere {
try_files $uri @default;
}
J'ai cherché haut et bas sur les Googles et je n'arrive pas à trouver de documentation à ce sujet. Qu'est-ce que cela signifie et quelles sont ses utilisations pratiques? S'agit-il d'une sorte de déclaration et d'affectation de variables? Désolé pour la question de débutant.
Dans l'exemple que vous citez dans votre question:
Si la demande entrante est reçue sur http: // votre-domaine / quelque part , alors l'emplacement correspond à / quelque part et il essaie à deux endroits séquentiellement de trouver une réponse, comme spécifié par la directive try_files, répondant avec le premier essai réussi.
location @default
directive. Un emplacement_nommé ne correspondra jamais à une demande entrante et est utilisé par référence pour spécifier la réponse dans d'autres directives d'emplacement.De cette façon, une instruction if peut être évitée (si le fichier existe, alors utilisez-le, sinon répondez comme spécifié dans la directive location @default). Il peut donc être utilisé comme raccourci pour une condition if. Les déclarations "si" sont définitivement "désapprouvées" par les auteurs de nginx ( si c'est mal ) car elles ont certaines limites et peuvent ne pas donner le résultat escompté.
la source