[Traducción] nginx parte de la ubicación

traducción:

Sintaxis: location [ = | ~ | ~* | ^~ ] uri { ... }``location @name { ... }
Defecto: -
Contexto: serverlocation

Configurado según la petición URI.

Con el fin de decodificar el texto "% xx" en la forma de una ruta relativa. "" Formato y "...", y dos o más adyacentes barras después de la compresión para regular una sola barra se realiza URI a juego.

Una ubicación puede ser definido como una cadena de prefijo o una expresión regular. Las expresiones regulares por el prefijo " *" (ignorando casos) o " " (mayúsculas y minúsculas) modificado en estas posiciones, la más larga cadena de prefijo la localización del partido serán seleccionados y recordados. Entonces será en los partidos de orden las expresiones regulares de expresiones regulares aparecen en el archivo de configuración. serán utilizados termina en la primera coincidencia de expresión regular, y la configuración correspondiente. Si no coincide con la expresión regular, recuerde se utilizará la ubicación de la configuración de la coincidencia de cadenas prefijo anterior.

ubicación del bloque se pueden anidar, con algunas excepciones mencionan a continuación.

Para un caso-insensible y sistemas operativos, como macOS Cygwin, caso partido cadena de prefijo se ignora. Sin embargo, una comparación de bytes a ser entorno limitado.

Las expresiones regulares pueden comprender captura, contenido capturado se pueden utilizar en las siguientes otras instrucciones.

Si una cadena más larga de prefijo de ubicación coincidente "^ ~" modificado, la expresión regular no se comprueba después de la.

Utilice el "=" se modifica para definir una coincidencia estricta URI y la ubicación. Si el modo estricto en un partido, la búsqueda se dará por terminado. Por ejemplo, si una petición "/" se produce con frecuencia, la definición de "ubicación = /" procesará estas solicitudes rápidamente. Después de que el primer partido de la localización estricta terminará la búsqueda. Esta ubicación, obviamente, no puede contener la ubicación anidado.

NOTA: En la versión 0.7.1 a 0.8.41, si una solicitud de ubicación coincide con la cadena de prefijo, si no "=" o "^ ~" modificado, la búsqueda se detiene y la expresión regular no ha sido controlada.

Dejémonos explicamos con un ejemplo:

location = / {
    [ configuration A ]
}

location / {
    [ configuration B ]
}

location /documents/ {
    [ configuration C ]
}

location ^~ /images/ {
    [ configuration D ]
}

location ~* \.(gif|jpg|jpeg)$ {
    [ configuration E ]
}

"/" Coincidirá con una configuración petición A "/ index.html" solicitud coincidirá con la configuración B, "/ documentos / document.html" solicitud coincidirá con la configuración C "/ images / 1.gif" solicitud coincidirán configuración D, "documentos / 1.jpg /" solicitud coincida con la configuración E.

"@" Como prefijo Prefijo define ubicación. Dicha solicitud de una ubicación no es para un proceso convencional, pero la solicitud para la redirección. No pueden estar anidados y no pueden contener posición encajada.

Si un lugar por el carácter de prefijo se define con una barra al final, y la petición se PROXY_PASS, fastcgi_pass, uwsgi_pass, scgi_pass, memcached_pass grpc_pass o un tratamiento y a continuación, realiza un manejo especial. En respuesta a una serie de petición URI sin barras, etc. Sin embargo, una redirección permanente de bacalao 301 devolverá el URI de la solicitud y la barra de la correa. Si esto no es una coincidencia estricta URI y la ubicación pueden definirse así:

location /user/ {
    proxy_pass http://user.example.com;
}

location = /user {
    proxy_pass http://login.example.com;
}

notas

  1. El lugar es definido por una cuerda desde la parte delantera de la trayectoria de la URI comienzo del partido, por lo que siempre se hizo hincapié en las razones cadena de prefijo de ruta de URI no hay una parte del partido en la línea, debe empezar de nuevo desde el camino del partido, pero regular no tenemos esta limitación.
  2. No sea atrasado por no estar de nuevo en el partido ^ ~ coincidir. Aquí hay que señalar que los requisitos ^ ~ juego se lleva a cabo cuando la cadena de búsqueda ^ ~ Hay que recordar que la ubicación, que es el partido más largo prefijo de la ubicación.

referencia

parte nginx documentación locaiton

发布了48 篇原创文章 · 获赞 52 · 访问量 5万+

Supongo que te gusta

Origin blog.csdn.net/letterTiger/article/details/102951725
Recomendado
Clasificación