Ich habe eben noch eine andere Syntax gefunden. Beide Synten [^1] mal untereinander:
<FilesMatch "\.(?i:gif|jpe?g|png|bmp)$"> <FilesMatch "(?i)\.(gif|jpe?g|png|bmp)$">
Da ich selbst überaus selten mit regulären Ausdrücken arbeite, kann ich zum Unterschied zwischen den beiden Versionen nichts substantielles sagen. Ich hoffe mal, dass jemand anderes zu diesem Thema aussagefähiger ist.
Die zweite Zeile würde (anders als die erste) als erstes Zeichen auch einen „groß geschriebenen Punkt“ als „passend“ betrachten. Nach derzeitiger Definition gibt es den nicht. Da dieses „gibt es nicht“ aber tatsächlich ein „gibt es hoffentlich nicht“ ist(¹), würde ich die engere Schreibweise (erste Zeile) bevorzugen.
¹) Ich wette mein Sitzfleisch, dass der Apache für die regulären Ausdrücke eine Libaray benutzt. Und wenn die sich mal in dem Punkt ändern sollte weil deren Autoren ihre Meinung ändern könnte es sein, dass es hier zu „Unfällen“ kommt. Denn was immer als „groß geschriebener Punkt“ definiert werden mag: In Linux sind alle Zeichen außer dem NUL-Byte in Dateinamen erlaubt.