LoginSignup
9
7

More than 5 years have passed since last update.

特定のMIMEタイプのファイルに対し、ダウンロードダイアログを開くには

Last updated at Posted at 2014-01-20

XML等ブラウザで内容を表示するMIMEタイプのファイルに対し、ブラウザでアクセスすると、そのままファイルの内容を見せてしまうことがあります。ファイルをダウンロードさせたい場合、どのようにApacheに設定するか、まとめました。

ダウンロードダイアログを開くレスポンスヘッダー

多くのブラウザでは、

Content-Disposition: attachment;

をレスポンスヘッダーに設定すると、ダウンロードダイアログを表示します。これはRFC2616 Sec19の19.5.1にて提案された仕様です。IE5.5の頃は色々と問題があったようですが、最近のブラウザであれば、普通にダウンロードダイアログを表示します。

ということで、特定の拡張子であればこのレスポンスヘッダーを設定するようにApacheを設定します。

mod_headersを有効にする

Apacheで特定のヘッダーを設定するには、mod_headersをインストールしなければなりません。このmod_headersは標準では無効になっている事が多く、Debian/Ubuntu系では、下記のコマンドで有効にします。

# e2enmod headers

コマンド実行後、apacheの再起動も行われ、モジュールが有効になります。

ヘッダーを有効にする設定例

XMLという拡張子に対し、レスポンスヘッダーを設定するのであれば、下記のような設定になるでしょう。

httpd.conf
<FilesMatch "\.(xml)$">
    Header set Content-Disposition attachment
</FilesMatch>

設定後、apacheに設定を読み込ませてください。

# service apache reload
9
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
7