NGINX reescribe la sintaxis dentro del bloque de ubicación

8

Una pregunta estúpida quizás, pero parece que no puedo encontrar buena documentación o ejemplos para esto ...

Cuando usa bloques de ubicación para filtrar las solicitudes entrantes, ¿reescribe desde la ubicación coincidente o desde el inicio de la solicitud?

Un ejemplo:

location ^~ /category/ {
    rewrite ^/category/paid-search-news/?$ /tag/paid-search permanent; # this,
    rewrite ^paid-search-news/?$ /tag/paid-search permanent; # this,
    rewrite paid-search-news/?$ /tag/paid-search permanent; # or this?
}
probablemente arriba
fuente

Respuestas:

4

Desde el inicio de la solicitud. Hay documentación sobre eso aquí .

location /download/ {
  rewrite  ^(/download/.*)/media/(.*)\..*$  $1/mp3/$2.mp3  break;
  rewrite  ^(/download/.*)/audio/(.*)\..*$  $1/mp3/$2.ra   break;
  return   403;
}
volcado de memoria
fuente
3

La documentación implica que la URL completa coincide (es decir, su primer ejemplo).

mgorven
fuente