mod_headers ダウンロード用リンクの作成


WEBで、PDFや表計算ファイルなどのダウンロードのためのリンクが必要になることがあります。


phpを使ってダウンロードすることも出来ますが、Apacheのmod_headerを使って.htaccessを作成して、ダウンロードのためのリンクを作成することが出来ます。



ブログサービスなどを利用するユーザで、特別なファイルを作成出来ない場合には、


zip形式のファイルをアップロードできる場合
ファイルを右クリック →「送る」→「圧縮(zip形式)フォルダ」で圧縮後、そのままサーバーにアップロードして、<a href="filename.zip">ダウンロード</a>という風に通常のhtmlリンクを作成すると、ダウンロードできるようになります。(Windows)



他にも、PDFをログインなしでホスティング ダウンロードリンクを共有できる「PDFvia」 - WEBマーケティング ブログといったwebサービスを使うという方法もあります。

関連エントリ:slide share - ミショニポー



サンプル:
.htaccessを配置したディレクトリ以下、指定した拡張子のファイルにアクセスがあったら、ダウンロードダイアログを表示します。

#ダイアログ
<IfModule mod_headers>
  <FilesMatch "\.(pdf|ppt|xls|doc|csv)$"> 
    Header set Pragma no-cache
    Header set Cache-Control no-cache
    AddType application/octet-stream .pdf .xls .doc .ppt .csv
    SetEnvIf Request_URI "/([^/]+)$" FILE_NAME=$1
    Header set Content-Disposition "attachment; filename={FILE_NAME}" 
  </FilesMatch>
</IfModule>