mattintosh note

どこかのエンジニアモドキの備忘録

2024-06-05: 現在ホビー関連の記事を 新しいブログ に移行しています(一部の国、ISP からは閲覧できません)

Apacheの画像拡張子指定の正規表現

Apache のコンフィグで画像に対して何かをしたいとき <FilesMatch "\.jpeg$"> なんて書いたりするんだけど、先日とんでもない正規表現の書き方を見かけてしまった。

んで、何が正しいのかわからなくなってしまい(それくらい衝撃的だった)、落ち着いて自分用のテンプレート的なものを残しておきたいと思ったのでメモしておく。

画像の拡張子は以下から抜粋。

MIME タイプ (IANA メディアタイプ) - HTTP | MDN

jpeg の部分に関しては色々書き方があると思うけどあまり複雑にならないようにようにした。あと、Windows ユーザは拡張子大文字にしたがるので大小文字無視も必要だよね。

<FilesMatch "\.(?i:bmp|gif|ico|cur|p?j(fif|pe?g?)|a?png|svg|tiff?|webp)$">
    SetEnv nolog        1
    SetEnv access_image 1
</FilesMatch>