Miklix

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.


Cette page a été automatiquement traduite de l'anglais afin de la rendre accessible au plus grand nombre. Malheureusement, la traduction automatique n'est pas encore une technologie au point, des erreurs peuvent donc survenir. Si vous préférez, vous pouvez consulter la version originale en anglais ici :

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 :

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

Partager sur BlueskyPartager sur FacebookPartager sur LinkedInPartager sur TumblrPartager sur XPartager sur LinkedInÉpingler sur Pinterest

Mikkel Christensen

À propos de l'auteur

Mikkel Christensen
Mikkel est le créateur et propriétaire de miklix.com. Il a plus de 20 ans d'expérience en tant que programmeur informatique/développeur de logiciels professionnel et est actuellement employé à temps plein pour une grande société informatique européenne. Lorsqu'il ne blogue pas, il consacre son temps libre à une vaste gamme d'intérêts, de passe-temps et d'activités, qui peuvent dans une certaine mesure se refléter dans la variété des sujets abordés sur ce site Web.