Miklix

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.


Diese Seite wurde maschinell aus dem Englischen übersetzt, um sie so vielen Menschen wie möglich zugänglich zu machen. Leider ist die maschinelle Übersetzung noch keine ausgereifte Technologie, so dass Fehler auftreten können. Wenn Sie es vorziehen, können Sie sich die englische Originalversion hier ansehen:

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:

location ~* \.(js|css|html|txt)$
{
    // 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 ;-)

Teilen auf BlueskyAuf Facebook teilenAuf LinkedIn teilenAuf Tumblr teilenTeilen auf XAuf LinkedIn teilenPin auf Pinterest

Mikkel Bang Christensen

Über den Autor

Mikkel Bang Christensen
Mikkel ist der Schöpfer und Eigentümer von miklix.com. Er verfügt über mehr als 20 Jahre Erfahrung als professioneller Computerprogrammierer/Softwareentwickler und ist derzeit in Vollzeit für ein großes europäisches IT-Unternehmen tätig. Wenn er nicht gerade bloggt, verbringt er seine Freizeit mit einer Vielzahl von Interessen, Hobbys und Aktivitäten, was sich bis zu einem gewissen Grad in der Vielfalt der auf dieser Website behandelten Themen widerspiegelt.