NGINX réécrit la syntaxe à l'intérieur du bloc d'emplacement

8

Une question stupide peut-être, mais je n'arrive pas à trouver une bonne documentation ou des exemples pour cela ...

Lorsque vous utilisez des blocs d'emplacement pour filtrer les demandes entrantes, effectuez-vous votre réécriture à partir de l'emplacement correspondant ou depuis le début de la demande?

Un exemple:

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?
}
probablement
la source

Réponses:

4

Dès le début de la demande. Il y a des documents sur ce ici .

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

La documentation implique que l'URL complète correspond (c'est-à-dire votre premier exemple).

mgorven
la source