Sintaxe de reescrita do NGINX dentro do bloco de localização

8

Uma pergunta estúpida, talvez, mas não consigo encontrar boa documentação ou exemplos para isso ...

Ao usar blocos de localização para filtrar solicitações recebidas, você reescreve a partir da localização correspondida ou do início da solicitação?

Um exemplo:

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?
}
provavelmente
fonte

Respostas:

4

Desde o início da solicitação. Há documentação sobre isso aqui .

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

A documentação implica que o URL completo é correspondido (ou seja, seu primeiro exemplo).

mgorven
fonte