それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

Apacheで拡張子ごとにMIMEタイプを変える。

TSファイルをApache経由で開こうとしてエラーになった。WindowsMediaPlayerがMPEGだと認識できなったらしい。


ブラウザとApache(HTTPサーバー)はMIMEタイプでファイルの内容をやりとりしている。
PDFがAdobeReaderで開くのはブラウザにMIMEタイプが関係している。

Wordなら application/mswordなどと書いてある。コレを見てブラウザ判断する.

つまり、ブラウザが「WORDファイルキタワー。これはWordにパスだ」と認識してたりする。

ApacheにTSファイルをMPEGだと設定する

この関連づけをサーバー側である程度操作できる。たとえば、TSファイルはビデオだと認識されないことがある。

 AddType video/mpeg .ts

書く場所は filesか .htaccess(directory)ディレクティブがよい。

PDFなのにWORDだよ!とか嘘が言えたりする。嘘ついても役に立たないが、Windowsの関連づけで開くのを防げる。このため、MIMEをOctecStreamと答えておけば、ダウンロード&保存ダイアログを出させるとかできて、たまに重宝する。

設定前のヘッダ

takuya@atom:~$ curl -I http://192.168.2.5/epgrec/video/foobar.ts
HTTP/1.1 200 OK
Date: Wed, 02 Feb 2011 05:49:19 GMT
Server: Apache/2.2.16 (Ubuntu)
Last-Modified: Wed, 02 Feb 2011 04:29:53 GMT
ETag: "10-ada17b30-49b4519b9d90e"
Accept-Ranges: bytes
Content-Length: 2913041200
Content-Type: text/texmacs #動画ファイルになってない!

設定後

takuya@atom:~$ curl -I http://192.168.2.5/epgrec/video/foobar.ts
HTTP/1.1 200 OK
Date: Wed, 02 Feb 2011 05:40:58 GMT
Server: Apache/2.2.16 (Ubuntu)
Last-Modified: Wed, 02 Feb 2011 04:29:53 GMT
ETag: "10-ada17b30-49b4519b9d90e"
Accept-Ranges: bytes
Content-Length: 2913041200
Content-Type: video/mpeg  #動画ファイルになった。

動画ファイルになるとメディアプレーヤーのエラーが出なくなる。

通常はならmime magicや初期設定で十分補完してくれるので、AddType設定はいじらなくてイイ。