|
|
ブラウザで動画ファイル(mpg,avi,wmvなど)や、Office関連の拡張子(doc,xls,pptなど)、PDF文書のファイルを開こうとする時、拡張子に関連付けられたソフトウェアが自分のマシンにインストールされていれば、リンクをクリックした時にそのソフトウェアが自動で起動するようになる。これは、単にファイルをダウンロードしたいだけのひとにとって、時に悪意すら感じる事がある。筆者が最もむかついて仕方がないのは、PDFである。リンクをクリックした時、Acrobat
Reader が起動し、起動にもの凄い時間がかかった割には、たいした情報は記述されていない事がほとんどなのだ。動画ファイルをダウンロードしたいときも、同じような事がいえる。「100mb.mpg」というファイルをそのまま、サーバーにアップロードした場合、ストリーミング再生のようにWindowsMediaPlayerで起動する。こうならないために、通常は、MPGファイルをZIPで固めてサーバーにアップロードしておくのが礼儀というものであろう。
ただ、これはアップロードする側としては、わざわざ圧縮処理をしなければならないため、非常に面倒くさい。特に、.htaccessでファイルを一覧表示させたい時などは、そのままファイルをフォルダに突っ込んだほうが明らかに楽なのである。ここでは、リンクをクリックした時にアプリが起動する可能性のある拡張子に対して、「ファイルのダウンロード」ダイアログボックスが開くように設定していく。
設定自体は簡単だ。httpd.conf を開いて、以下のように編集しておけばよい。追加したい拡張子があれば、随時、追加していけば良い。
# vi httpd.conf
LoadModule headers_module modules/mod_headers.so
<FilesMatch "\.(avi|mpg|wmv|mov|mp3|mp4|m4a|rm|pdf|exe|msi|xls|doc|ppt|mdb)$">
AddType application/stream .avi .mpg .wmv .mov .mp3 .mp4 .m4a .rm
AddType application/adobe .pdf
AddType application/execute .exe .msi
AddType application/microsoft .xls .doc .ppt .mdb
Header set content-disposition attachment
</FilesMatch> |
|