働きたくないゆとりの備忘録

プログラミングとかサーバーとか学んだことをいろいろ書いていきたい。。。

Apacheで画像のファイル名に「twitter」が含まれていると強制的にMIMEタイプがtext/htmlになる謎現象

スポンサーリンク

※この現象は私の環境だけかもしれません。

Webサービスを作成していたある日、アップした画像がいくつか表示されていないことに気付きました。画像URLに直接アクセスしてみると文字化けした文字列が表示され、MIMEタイプはtext/htmlに。

いろいろ試して原因を探してみましたが私の技術力では発見することができず、唯一判明したのはファイル名に「twitter」の文字が含まれている画像だけがおかしいということでした。

とりあえずの応急処置として「twitter」の文字が含まれる画像のMIMEタイプを、本来のMIMEタイプへ強制するようhttpd.confに設定しました。

PNG画像の場合
<IfModule mod_headers.c>
    <FilesMatch "twitter.*\.png">
        Header set Content-Type "image/png"
    </FilesMatch>
</IfModule>


根本的な解決が出来ず非常に気持ちが悪いので、もし原因が分かる方がいましたら優しく教えていただけると助かります。