Abgleichen des Speicherorts anhand der Dateierweiterung mit NGINX
Veröffentlicht: 15. Februar 2025 um 01:40:25 UTC
In diesem Artikel wird erläutert, wie Sie in NGINX anhand von Dateierweiterungen in Standortkontexten ein Mustervergleich durchführen, der für die URL-Umschreibung oder die sonstige unterschiedliche Behandlung von Dateien je nach Typ nützlich ist.
Match Location Based on File Extension with NGINX
Die Informationen in diesem Beitrag basieren auf NGINX 1.4.6, das auf Ubuntu Server 14.04 x64 ausgeführt wird. Sie können für andere Versionen gültig sein, müssen es aber nicht.
Ich bin nicht so gut mit regulären Ausdrücken (ich weiß, das ist etwas, woran ich wahrscheinlich arbeiten sollte), daher muss ich mich oft darin einlesen, wenn ich mehr als die einfachste Musterübereinstimmung durchführen muss, zum Beispiel im Standortkontext von NGINX.
Wenn Sie bestimmte Dateitypen unterschiedlich behandeln müssen, ist die Möglichkeit, einen Speicherort anhand der Erweiterung der angeforderten Datei zuzuordnen, sehr nützlich. Und das ist auch sehr einfach. Ihre Standortanweisung könnte einfach so aussehen:
{
// do something here
}
Natürlich können Sie die Erweiterungen einfach nach Bedarf ändern.
Im obigen Beispiel wird die Groß-/Kleinschreibung nicht berücksichtigt (es wird beispielsweise sowohl auf .js als auch auf .JS geachtet). Wenn Sie die Groß-/Kleinschreibung berücksichtigen möchten, entfernen Sie einfach das * nach dem ~.
Was Sie mit der Übereinstimmung machen, bleibt Ihnen überlassen. Normalerweise schreiben Sie es in ein Backend um, das eine Art Vorverarbeitung durchführt, oder Sie möchten die Dateien einfach aus anderen Ordnern lesen, als es für die Öffentlichkeit den Anschein macht. Die Möglichkeiten sind endlos ;-)