イメージやソースファイルをダウンロードさせたい時、どうしてる?
よくあるのが、zipとかlzhとかにしてダウンロードさせる方法。何の設定もいらないから、この方法が一番多いと思う。
あとは、サーバのスクリプトを中継に使う方法。
サーバに設置してあるスクリプトに、ファイルパスやIDを引数として渡してやって、ダウンロード用のHTTPヘッダと共に指定のファイルを返してダウンロードさせる。
この場合だと、ダウンロードカウンターとかも実装できるので需要があるんじゃないかと思う。
もう一つは、Webサーバの設定を変更する方法。
どのやり方も一長一短だと思うけど、単一ファイルをストレスなくダウンロードさせるには、サーバ設定をいじった方がらくかなと。
なので、.htaccess によるダウンロード領域の作成をしてみようと思った。
とりあえず.htaccessの中身を随時ここに書き留める
[2007/06/15版 .htaccess]RemoveHandler cgi pl
ForceType application/octet-stream
SetEnvIf Request_URI "/([^/]+)$" FILE_NAME=$1
Header set Content-Disposition "attachmenti; filename=%{FILE_NAME}e"
1行目: とりあえずハンドラをひっぺがす。2行目: コンテンツタイプを全て"application/octet-stream"にする。
3行目: ダウンロードファイル名を取得する。
4行目: IE様用にヘッダーを付加する。
<動作環境>
Apache 2.2.4
<必要だと思われるモジュール>
mod_mime, mod_env, mod_setenvif, mod_headers
<正常に動作したブラウザ>
IE6, IE7, firefox
<メモ>
まだまだ、道のりは長い。
--
放置するなよ、おれ。