Umleitung mit Unterverzeichnis-URLs in Nginx

Umleitung mit Unterverzeichnis-URLs in Nginx

Wenn ich mit meinem Browser einen Anruf mache anhttp://myhost/tiles/yellow/1/2/3.png, würde ich erwarten, Inhalte zu erhalten vonhttp://myhost/cache/yellow.png Meine Konfiguration ist die folgende

    location /cache/ {
      alias /my/path/cache/;
    }

    location /tiles/ {
      try_files $uri $uri/ @rulestiles;
    }
    location @rulestiles {
      rewrite "^/tiles/([a-zA-Z1-9]*)/[0-9]{2}/[0-9]{6}/[0-9]{6}\.png$" /cache/$1\.png permanent;
    }

Was übersehe ich? Liegt es daran, dass ich Capture nicht überall verwende, da ich nicht alle Parameter benötige?

Ich möchte auch keine symbolischen Links verwenden, da ich für nur einige Hundert echte Dateien Hunderte Millionen von symbolischen Links benötigen würde ...

Vielen Dank für jede Anleitung/Hilfe

Antwort1

Dank der Alexey TenKommentare zu meiner Frage konnte ich meine verschiedenen Fehler korrigieren.

Erstens war mein regulärer Ausdruck falsch, sodass ich beim Testen keine Parameter erfasst habe

Dann habe ich auch geändert, rewriteum proxy_passmeine URL gleich zu halten

location /cache/ {
    alias /my/path/cache/;
}

location ~ "/tiles/(?<section>[a-zA-Z1-9]*)/[0-9]{1,2}/[0-9]{1,6}/[0-9]{1,6}.png$" {
    proxy_pass http://my.tested.ip.code/cache/$section.png;
    proxy_set_header Host $host;
}

wo my.tested.ip.codeist die Server-IP.

verwandte Informationen