
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 Ten
Kommentare 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, rewrite
um proxy_pass
meine 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.code
ist die Server-IP.