Priorité
Dans l’ordre de priorité…
-
exactlty
=
: correspondance exacte
location = / {
# Uniquement la racine du serveur
...
}
-
prefix prefix
^~
location ^~ /msg {
# Application msg
}
-
regular expression case sensitive
~
location ~ ^/msg {
# Application msg
}
-
regular expression case insensitive
~*
location ~ ^/msg {
# Application msg, fonctionne aussi avec Msg, MSG,...
}
-
prefix: correspondance du préfixe, priorité au plus long préfixe
location / {
# Configuration par défaut
...
}
location /msg {
# Application msg
...
}
Localisation nommée
La technique de named location permet à d’autres directives de faire des renvois.
location @msg {
proxy_pass http://tomcat:8080;
}
On peut l’utiliser depuis une error_page
ou try_files
.
location /msg {
try_files $uri @msg;
}
Dans cet exemple, on cherche à résoudre les requêtes localement et on renvoie sur la localisation nommée en cas d’échec. On devrait arriver au même résultat par la gestion d’erreur.
On peut aussi utiliser try_files
pour faire un renvoi systématique.
Sous cette forme, la localisation nommée sert surtout à faire de la réutilisation.
location /msg {
try_files /dev/null @msg;
}
Localisations imbriquées
On peut imbriquer les localisations entre elles, sauf pour les correspondances exactes et les localisations nommées. Les chemins de correspondance sont toujours absolues.