J'ai un répertoire d'images qui sont alternativement affichées directement dans le navigateur, et d'autres fois téléchargées.Comment réécrire et définir les en-têtes en même temps dans Apache
Donc, disons que j'ai un fichier /gallery/gal_4254.jpg.
Je veux faire /download/gal_4254.jpg déclencher un téléchargement de l'image plutôt que de l'afficher./le téléchargement est vide, toutes les images sont dans/gallery.
Je peux orienter les requêtes vers le téléchargement dir aux autres fichiers avec succès
<Directory /var/www/download>
RewriteEngine on
RewriteRule (.*)$ /gallery/$1
</Directory>
et je peux déjà forcer les téléchargements dans la galerie dir en mettant
<Directory /var/www/gallery/>
ForceType "image/jpg"
Header set Content-Disposition "attachment"
</Directory>
réglage de sorte que les en-têtes est pas un problème . Je ne veux pas que/gallery ait les en-têtes, seulement les requêtes pour/gallery/* à travers/download/qui sont réécrites.
Mais, j'ai besoin de combiner les deux, de sorte que la demande est mappée au fichier dans l'autre répertoire ET le fichier est donné l'en-tête de la pièce jointe. J'ai essayé de changer l'ordre des sections de réécriture et d'en-tête en vain. Je pense qu'il perd l'en-tête lorsque la demande est réécrite dans l'autre répertoire.
Des suggestions sur la façon de faire cela dans Apache?
Je réalise que cela pourrait aussi être fait avec PHP, c'est pourquoi je l'ai posté ici par rapport à Server Fault. Une solution utilisant PHP serait la bienvenue aussi.
Merci! Puisque vous et xaoc donniez à peu près la même réponse à 2 minutes d'intervalle, j'ai lancé une pièce et xaoc a obtenu l'acceptation. Vous avez néanmoins mon upvote reconnaissant. – JAL