User Tools

Site Tools


guia_rapida_de_location_y_modificadores_en_nginx

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
guia_rapida_de_location_y_modificadores_en_nginx [2021/05/10 23:58] busindreguia_rapida_de_location_y_modificadores_en_nginx [2021/05/11 00:08] (current) busindre
Line 5: Line 5:
 **Prioridad** **Prioridad**
  
-El uso de modificadores y su prioridad en Nginx es algo confuso y esta pequeña guía intenta poder aclarar todos los casos posibles. Las coincidencias exactas tienen siempre prioridad, es decir, da igual donde se definan, que de existir y coincidir con alguna query, esta será la usada. Después se tienen las localizaciones por prefijo ^~, el cual tiene menos prioridad que la coincidencia exacta pero más que las regex, por lo tanto, da lo mismo donde se definan en el fichero de configuración. De haber varias se usará la que mejor encaje con el prefijo. Luego están las localizaciones que usan expresiones regulares, la primera que coincida será la elegida, aunque más alelante se encuentre otra más completa y que encaje mejor. Si no se usa modificador, se está usando una localización por prefijo, pero esta no tiene prioridad y de haber una regex por delante de ella que coincida, no será evaluada+El uso de modificadores y su prioridad en Nginx es algo confuso y esta pequeña guía intenta poder aclarar todos los casos posibles.
  
-Estos prefijos sin modificador, de no tener regex por encima pero sí una o varias localizaciones con ^~, pueden ser elegidas si el prefijo coincide de forma más completa. Es decir, el no usar modificador hace uso de prefijo y no compite en prioridad con ^~, simplemente se usa siempre el prefijo que más coincida.+Las coincidencias exactas "=" tienen siempre prioridades decir, da igual donde se definan, que de existir y coincidir con alguna query, la localización será la usada. Después se tienen las localizaciones por prefijo "^~", el cual tiene menos prioridad que la coincidencia exacta pero más que las regexpor lo tanto, da lo mismo donde se definan en el fichero de configuración. De haber varias se usará la que mejor encaje con el prefijo. 
  
 +Luego están las localizaciones que usan expresiones regulares "~" y "~*". La primera localización que coincida será elegida, aunque más adelante se encuentre otra más completa y que encaje mejor. 
 +
 +Si no se usa modificador, se está usando una localización por prefijo similar a ^~, pero no tiene su misma prioridad frente a las regex. Es decir, de haber una regex por delante que coincida, la localización sin prefijo no será evaluada. Estos prefijos sin modificador, de no tener regex por encima pero sí una o varias localizaciones con ^~, pueden ser elegidas si el prefijo coincide de forma más completa que en localizaciones con ^~. Es decir, el no usar modificador hace uso de prefijo y no compite en prioridad con ^~, simplemente se usa siempre el prefijo que coincida en mayor medida.
  
   - Coincidencia exacta =.   - Coincidencia exacta =.
Line 14: Line 17:
   - Expresión regular (sensible a mayúsculas y no sensible a mayúsculas).   - Expresión regular (sensible a mayúsculas y no sensible a mayúsculas).
   - Coincidencia prefijo “Ningún modificador”.   - Coincidencia prefijo “Ningún modificador”.
- 
  
 **=** El bloque se considerará una coincidencia si la URI de la solicitud coincide exactamente con la ubicación indicada. Es lo primero que busca Nginx, no pueden repetirse y tienen prioridad sobre cualquier otra location, usen o no expresiones regulares. El orden de estas location NO importa. **=** El bloque se considerará una coincidencia si la URI de la solicitud coincide exactamente con la ubicación indicada. Es lo primero que busca Nginx, no pueden repetirse y tienen prioridad sobre cualquier otra location, usen o no expresiones regulares. El orden de estas location NO importa.
guia_rapida_de_location_y_modificadores_en_nginx.1620683935.txt.gz · Last modified: 2021/05/10 23:58 by busindre