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>

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

コメント

タイトルとURLをコピーしました