NGINX reescreve a sintaxe dentro do bloco de localização

7

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

Quando você está usando blocos de localização para filtrar solicitações recebidas, você faz a sua reescrita a partir do local correspondente ou desde o 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?
}
    
por probablyup 15.05.2012 / 20:38

2 respostas

4

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

location /download/ {
  rewrite  ^(/download/.*)/media/(.*)\..*$  $1/mp3/$2.mp3  break;
  rewrite  ^(/download/.*)/audio/(.*)\..*$  $1/mp3/$2.ra   break;
  return   403;
}
    
por 15.05.2012 / 20:44
3

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

    
por 15.05.2012 / 20:43

Tags