Abgleichen des Speicherorts anhand der Dateierweiterung mit NGINX
Veröffentlicht: 15. Februar 2025 um 01:40:25 UTC
Zuletzt aktualisiert: 12. Januar 2026 um 08:35:39 UTC
Dieser Artikel erklärt, wie man in NGINX Mustervergleiche auf Basis von Dateierweiterungen in Standortkontexten durchführt. Dies ist nützlich für das Umschreiben von URLs oder die unterschiedliche Behandlung von Dateien je nach Typ.
Match Location Based on File Extension with NGINX
Die Informationen in diesem Beitrag basieren auf NGINX 1.4.6 unter Ubuntu Server 14.04 x64. Ob sie auch für andere Versionen gelten, ist ungewiss.
Ich bin nicht besonders gut in regulären Ausdrücken (etwas, woran ich wahrscheinlich arbeiten sollte, ich weiß), deshalb muss ich mich oft darüber informieren, wenn ich mehr als die einfachsten Mustervergleiche durchführen muss, zum Beispiel im Location-Kontext von NGINX.
Eine besonders nützliche Funktion, wenn Sie bestimmte Dateitypen unterschiedlich behandeln müssen, ist die Möglichkeit, einen Speicherort anhand der Dateierweiterung zuzuordnen. Und das ist auch ganz einfach: Ihre Standortanweisung könnte beispielsweise so aussehen:
{
// do something here
}
Selbstverständlich können Sie die Erweiterungen einfach nach Ihren Bedürfnissen ändern.
Das obige Beispiel unterscheidet nicht zwischen Groß- und Kleinschreibung (es findet beispielsweise sowohl .js als auch .JS). Wenn Sie zwischen Groß- und Kleinschreibung unterscheiden möchten, entfernen Sie einfach das * nach der ~.
Was Sie mit dem Spiel machen, bleibt Ihnen überlassen; typischerweise würden Sie es in ein Backend umschreiben, das eine Art Vorverarbeitung durchführt, oder Sie möchten die Dateien vielleicht einfach aus anderen Ordnern lesen als denen, die für die Öffentlichkeit sichtbar sind, die Möglichkeiten sind endlos ;-)
