Ich versuche, die Anforderungs-URL abhängig von der Dateierweiterung neu zu schreiben, extrahiere dann nur den Dateinamen aus der URL und speichere sie in einem anderen Ordner. Das Problem hier ist keine vordefinierte Variable für den Dateinamen und den verfügbaren Variablen uri
, request_uri
und request_filename
die volle uri geben.
server{
set $file_folder D:/nginx-1.0.15/imageAll/;
location ~*+.(gif|jpg)$ {
try_files $uri @imgstore;
}
location @imgstore {
proxy_pass $file_folder$request_filename;
proxy_store on;
proxy_temp_path /nginx-1.0.15/images/;
proxy_store_access user:rw group:rw all:r;
}
}
Das Beste, was ich tun kann, ist, die Erweiterung .jpg oder .gif zu bekommen, die ich $1
anstelle von $request_filename
:.
location @imgstore {
proxy_pass $file_folder$1;
}
Also möchte ich wissen:
- Wie erhalte ich den Dateinamen aus der Anfrage?
- Ist es der richtige Weg, Bilder von einem Ordner in einen anderen zu speichern?