Différencier le comportement de nginx en fonction de l’URL

J’ai une application Django et j’utilise nginx pour servir du contenu statique. Malheureusement, tous les types MIME enregistrés sont affichés dans le navigateur du client, alors que je souhaiterais pouvoir télécharger le même contenu , ainsi que le comportement habituel. Dites, j’ai un fichier JPEG sous /media/images/image01.jpg et je veux que nginx serve ce fichier de façon habituelle, avec un en image/jpeg tête standard image/jpeg , mais en plus je veux que nginx serve la même image avec content-disposition: attachment (forçant efficacement le téléchargement de contenu) lorsque vous y /downloads/images/image01.jpg , par exemple, /downloads/images/image01.jpg . Quelqu’un peut-il suggérer une solution?

Assurez-vous d’avoir compilé le http_headers_module. (Devrait être par défaut, si ce n’est pas dans le kernel)

Utilisez la “pièce jointe add-header content-disposition”;

Je recommande d’utiliser une URL comme “/download?file=/downloads/images/image01.jpg” combinée à une règle de réécriture pour éviter un bogue ennuyeux plus tard.

Http Headers Module Documention