Dopasuj lokalizację na podstawie rozszerzenia pliku za pomocą NGINX
Opublikowano: 15 lutego 2025 01:10:44 UTC
W tym artykule wyjaśniono, jak wykonywać dopasowywanie wzorców na podstawie rozszerzeń plików w kontekstach lokalizacji w serwerze NGINX. Jest to przydatne przy przepisywaniu adresów URL lub w inny sposób obsługi plików w zależności od ich typu.
Match Location Based on File Extension with NGINX
Informacje zawarte w tym poście odnoszą się do NGINX 1.4.6 działającego na Ubuntu Server 14.04 x64. Mogą być lub nie być ważne dla innych wersji.
Nie jestem zbyt dobry w wyrażeniach regularnych (wiem, że pewnie powinienem nad tym popracować), więc często muszę zgłębiać ten temat, gdy muszę wykonać coś więcej niż tylko najprostsze dopasowywanie wzorców, na przykład w kontekście lokalizacji NGINX.
Jedną z bardzo przydatnych funkcji, jeśli musisz inaczej obsługiwać określone typy plików, jest możliwość dopasowania lokalizacji na podstawie rozszerzenia żądanego pliku. I jest to również bardzo proste, Twoja dyrektywa dotycząca lokalizacji może po prostu wyglądać tak:
{
// do something here
}
Oczywiście, możesz po prostu zmienić rozszerzenia na takie, których potrzebujesz.
Powyższy przykład nie uwzględnia wielkości liter (na przykład dopasuje zarówno .js, jak i .JS). Jeśli chcesz, aby uwzględniał wielkość liter, po prostu usuń * po ~.
Co zrobisz z tym meczem, zależy od Ciebie; zazwyczaj przepisujesz go do zaplecza, które wykonuje pewnego rodzaju przetwarzanie wstępne, lub możesz po prostu chcieć odczytać pliki z innych folderów, niż są widoczne dla ogółu; możliwości są nieograniczone ;-)