特定の拡張子(今回は、.stpや.step(3D CAD))のファイルへのリンクを、ブラウザ上でクリックすると、テキスト表示されてしまう。
そうではなく、ダウンロードをさせたい。
⇒
- 基本は、Apeche設定(基本は httpd.conf。.htaccessの場合も)のMIME TYPE に追加する。(httpd.confでは通常<IfModule mime_module>の中に書くが、これは.phpファイルの動作設定を書くところでもある。)
- IEには別の設定が必要(同じく、httpd.confか.htaccess)。(というか、1無くともこれのみでも可だろう。しかし1.も同時設定推奨のよう。)
- HTMLのaタグのdownload属性でも可能との事。
(上記3つは、下記の★印のリンク先で網羅。)
○『MIMEタイプ設定の意味と利用例 ServerKurabe』
https://serverkurabe.com/about-mimetype/
…基本が書かれている。ダウンロードのMIMEタイプの書き方も。(IEでは効かないことがある、とだけ書いてあり、代替方法記載なし)
○『MIMEタイプの追加(AddType) - コンテンツの設置 - Apache入門』
https://www.adminweb.jp/apache/docroot/index4.html
…ファイル"mime.types"について詳しい。<IfModule mime_module>の中でAddTypeすれば良い。ダウンロードの為の設定(application/octet-stream)については記載なし。
★『ファイルをダウンロードさせる方法 - naritoブログ』
https://torina.top/detail/228/
…当項冒頭に挙げた3つの方法を全て紹介(紹介順は逆)。
.htaccessよりhttp.confがパフォーマンス面やセキュリティ面で良いことも力説。
(2018/12/14)次のページにリダイレクトされるようになっている:『Djangoで、ファイルダウンロード - naritoブログ』https://narito.ninja/detail/93/
△『特定のMIMEタイプのファイルに対し、ダウンロードダイアログを開くには - Qiita』
https://qiita.com/kompiro/items/ac60721bc43625a057dc
…「mod_headersをインストールしなければならない」などと書かれている。しかし、仕事では、これは無かったようだが、設定は成功した。
俺の具体的設定:
httpd.confに、
・・・
<IfModule mime_module>
TypesConfig conf/mime.types
・・・
#20181120 added to let users download 3D-CAD files rather than open in browsers
AddType application/octet-stream .stp .step
・・・
</IfModule>#20181120 added I added "AddType application/octet-stream .stp .step" above, but it doesn't work for IE. So, I added the following.
<Files ~ "\.(stp|step)$">
Header Add Content-Disposition attachment
</Files>
・・・