¿En qué orden se activan las directivas de ubicación?
186
Desde los documentos del módulo central HTTP :
Ejemplo de la documentación:
location = / {
# matches the query / only.
[ configuration A ]
}
location / {
# matches any query, since all queries begin with /, but regular
# expressions and any longer conventional blocks will be
# matched first.
[ configuration B ]
}
location /documents/ {
# matches any query beginning with /documents/ and continues searching,
# so regular expressions will be checked. This will be matched only if
# regular expressions don't find a match.
[ configuration C ]
}
location ^~ /images/ {
# matches any query beginning with /images/ and halts searching,
# so regular expressions will not be checked.
[ configuration D ]
}
location ~* \.(gif|jpg|jpeg)$ {
# matches any request ending in gif, jpg, or jpeg. However, all
# requests to the /images/ directory will be handled by
# Configuration D.
[ configuration E ]
}
Si aún es confuso, aquí hay una explicación más larga .
/
y/documents/
coinciden con la solicitud/documents/index.html
, pero la última regla tiene prioridad ya que es la regla más larga.Se dispara en este orden.
=
(exactamente)^~
(partido delantero)~
(expresión regular distingue entre mayúsculas y minúsculas)~*
(expresión regular sin distinción entre mayúsculas y minúsculas)/
fuente
Ahora hay una práctica herramienta de prueba en línea para la prioridad de ubicación :
prueba de prioridad de ubicación en línea
fuente