Comment envoyer des en-têtes Content-Disposition dans Apache pour les fichiers?

J'ai un répertoire de fichiers texte que je dessine avec apache 2. Normalement, lorsque je (ou tout utilisateur) accède aux fichiers, ils les voient dans leur navigateur. Je veux "forcer" le navigateur Web à faire apparaître une boîte de dialogue "Enregistrer sous". Je sais que cela est possible avec les en Content-Disposition têtes Content-Disposition ( plus d'informations ).

Existe-t-il un moyen de l'activer pour chaque fichier?

Idéalement, j'aimerais avoir quelque chose comme ça:

 <Directory textfiles> AutoAddContentDispositionHeaders On </Directory> 

Et puis, apache définirait l'en-tête de disposition de contenu correct, y compris l'utilisation du même nom de fichier.

Quelque chose comme ceci pourrait être possible avec la directive d'en- Header apache.

Points bonus s'il est inclus en position debout dans apache dans debian.

Je pourrais faire un simple script de wrapper PHP qui prend un argument de filename , fait l'appel à l'en- header(...) , puis imprime le fichier, mais je dois valider les entrées, etc. C'est un travail que j'essaie d'éviter.


* Je sais que vous ne pouvez pas forcer les choses en ce qui concerne le Web

J'ai découvert que cela fait ce que je veux:

 <Location /textfiles> SetEnvIf Request_URI "^.*/([^/]*)$" FILENAME=$1 Header set "Content-disposition" "attachment; filename=%{FILENAME}e" UnsetEnv FILENAME </Location> 

mod_headers devrait être ce que vous recherchez:

 <IfModule mod_headers.c> <Location ~ ".*/textfiles/.*"> Header set Content-Disposition attachment </Location> </IfModule>