ユーザーは自分のサイトに画像をアップロードして名前を付けることができます (通常は .png または .jpg 拡張子なし)。これは、画像が IMG タグによって提供されている場合に機能します。どうやら MIME タイプは必要ありません。ブラウザは、それが画像でなければならないことを知っているので、それを処理できます。ただし、画像を直接表示する場合、Apache は画像を として提供しますtext/plain
。
これで、mod_rewrite を使用して適切な MIME タイプを提供できますが、ファイルの MIME タイプを判別するルールを作成するにはどうすればよいでしょうか?
RewriteEngine on
RewriteCond something something involving grep, file, or whatever?
RewriteRule ^.* - [last,type=image/png]
時々間違ったMIMEタイプを提供する私の現在のソリューション(明らかに害はありません):
RewriteEngine on
# do nothing with .png, .jpg, .svgz, etc files
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule .*\.....? - [last]
# add an image MIME type in order to force something other than text/plain
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule .* - [last,type=image/png]