Miklix

Emplacement de correspondance basé sur l'extension de fichier avec NGINX

Publié : 15 février 2025 à 01:42:04 UTC
Dernière mise à jour : 12 janvier 2026 à 08:35:42 UTC

Cet article explique comment effectuer une correspondance de modèles basée sur les extensions de fichiers dans les contextes d'emplacement dans NGINX, utile pour la réécriture d'URL ou pour gérer différemment les fichiers en fonction de leur type.


Cette page a été traduite de l'anglais afin de la rendre accessible au plus grand nombre. Malheureusement, la traduction automatique n'est pas encore une technologie parfaite, et des erreurs peuvent donc se produire. 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 cet article sont basées sur NGINX 1.4.6 exécuté sur Ubuntu Server 14.04 x64. Elles peuvent ne pas être valides pour d'autres versions.

Je ne suis pas très doué en expressions régulières (c'est quelque chose que je devrais probablement améliorer, je le sais), donc je dois souvent me renseigner à ce sujet lorsque je dois faire plus que la simple correspondance de motifs, par exemple dans le contexte de localisation de NGINX.

L'une des fonctionnalités les plus utiles pour gérer différemment certains types de fichiers est la possibilité de faire correspondre un emplacement en fonction de l'extension du fichier demandé. C'est très simple : votre directive d'emplacement pourrait ressembler à ceci :

location ~* \.(js|css|html|txt)$
{
    // do something here
}

Bien sûr, vous pouvez modifier les extensions selon vos besoins.

L'exemple ci-dessus ne tient pas compte de la casse (par exemple, il correspondra à la fois à .js et à .JS). Si vous souhaitez qu'il soit sensible à la casse, supprimez simplement l'astérisque (*) après le tilde (~).

Vous êtes libre de choisir ce que vous ferez du résultat ; généralement, vous le réécrirez dans un système qui effectuera un prétraitement, ou vous voudrez peut-être simplement lire les fichiers depuis d'autres dossiers que ceux accessibles 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

A propos de l'auteur

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