Emplacement de correspondance basé sur l'extension de fichier avec NGINX
Publié : 15 février 2025 à 01 h 38 min 14 s UTC
Dernière mise à jour : 12 janvier 2026 à 08 h 36 min 21 s UTC
Cet article explique comment faire une correspondance de motifs basée sur les extensions de fichiers dans des contextes de localisation dans NGINX, utile pour réécrire des URL ou gérer les fichiers différemment selon leur type.
Match Location Based on File Extension with NGINX
Les informations contenues dans ce billet sont basées sur NGINX 1.4.6 fonctionnant sur Ubuntu Server 14.04 x64. Cela peut être valide ou non pour d’autres versions.
Je ne suis pas très bon avec les expressions régulières (ce que je devrais probablement améliorer, je sais), donc je dois souvent me renseigner là-dessus quand je dois faire plus que la comparaison de motifs la plus simple, par exemple dans le contexte de localisation de NGINX.
Une option très utile si vous devez gérer différents types de fichiers est la possibilité de faire correspondre un emplacement en fonction de l’extension du fichier demandé. Et c’est très simple aussi, votre directive de localisation pourrait simplement ressembler à ceci :
{
// do something here
}
Bien sûr, tu peux simplement changer les extensions selon ce dont tu as besoin.
L’exemple ci-dessus est insensible à la casse (par exemple, il correspondra à la fois .js et .JS). Si vous voulez que ce soit sensible aux majuscules, enlevez simplement le * après le ~.
Ce que vous faites avec le match dépend de vous; En général, tu réécrirais dans un back-end qui fait une sorte de prétraitement, ou tu voudrais peut-être simplement lire les fichiers d’autres dossiers plutôt que ce que ça paraît au public, les possibilités sont infinies;-)
