私は、Apache 2で提供しているテキストファイルのディレクトリを持っています。通常、私(または任意のユーザー)がファイルにアクセスすると、ブラウザに表示されます。 Webブラウザに「強制」*して、「名前を付けて保存」ダイアログボックスをポップアップ表示したい。これは_Content-Disposition
_ヘッダー( 詳細 )で実行できることを知っています。
ファイルごとにオンにする方法はありますか?
理想的には私はこのようなものが欲しい:
_<Directory textfiles>
AutoAddContentDispositionHeaders On
</Directory>
_
そして、Apacheは、同じファイル名の使用を含め、正しいコンテンツ処理ヘッダーを設定します。
このようなことは、Apache Header
ディレクティブで可能になる場合があります。
それが含まれている場合は、debianのApacheに立ってボーナスポイントを獲得します。
単純なPHP filename
引数を取り、header(...)
を呼び出してからファイルを出力するラッパースクリプト有効な日付入力など、回避しようとしている作業です。
*ウェブに関しては、実際に強制することはできない
私はこれが私が望むことをすることを発見しました:
<Location /textfiles>
SetEnvIf Request_URI "^.*/([^/]*)$" FILENAME=$1
Header set "Content-disposition" "attachment; filename=%{FILENAME}e"
UnsetEnv FILENAME
</Location>
mod_headers
はあなたが探しているものでなければなりません:
<IfModule mod_headers.c>
<Location ~ ".*/textfiles/.*">
Header set Content-Disposition attachment
</Location>
</IfModule>