2017-01-20 4 views
1

Ich habe einen Asset-Server die Dateien gespeichert sind in dem folgenden Muster hat:Asset-Lieferung mit nginx aus Unterordnern

t/e/s/test.jpg 

Es gibt immer drei Verzeichnisse, die aus den ersten drei Buchstaben des Dateinamens. Der Client fordert das Bild wie folgt aus:

http://www.example.com/test.jpg 

Ist es möglich - mit nginx allein - diese Anforderung zu analysieren und die richtige Datei liefern? Oder brauche ich Lua dafür?

Antwort

1

nginx Konfigurationsdatei:

location/{ 
      alias /full/path/to/your/files/t/e/s/; 
     } 

vergessen Sie nicht letzten Schrägstrich (/) in alias Zeichenfolge zu verwenden.

zu Regex Parsen die Daten verwenden ~ Zeichen und $1 Gruppe Var innerhalb der Konfigurationsdatei.

Nicht getestet, aber es sollte wie folgt aussehen:

location ~* /([a-z]{1})([a-z]{1})([a-z]{1})(.*) { 

      alias /full/path/to/your/files/$1/$2/$3/$1$2$3$4; 
     } 
+0

Sie die Frage nicht verstehen. Für eine Datei '/ xyzabc' ist der tatsächliche Pfad'/x/y/z/xyzabc' – hjpotter92

+0

@ hjpotter92 ok. – Vyacheslav

+0

@ hjpotter92 aktualisiert :) – Vyacheslav

Verwandte Themen