How to make this .htaccess rule case insensitive?

alex picture alex · Mar 26, 2010 · Viewed 10.3k times · Source

This is a rule in my .htaccess

# those CSV files are under the DOCROOT ... so let's hide 'em
<FilesMatch "\.CSV$">
 Order Allow,Deny
 Deny from all
</FilesMatch>

I've noticed however that if there is a file with a lowercase or mixed case extension of CSV, it will be ignored by the rule and displayed.

How do I make this case insensitive?

I hope it doesn't come down to "\.(?:CSV|csv)$" (which I'm not sure would even work, and doesn't cover all bases)

Note: The files are under the docroot, and are uploaded automatically there by a 3rd party service, so I'd prefer to implement a rule my end instead of bothering them. Had I set this site up though, I'd go for above the docroot.

Thanks

Answer

Chad Birch picture Chad Birch · Mar 26, 2010

This page from the apache docs says that you can do it like this:

<FilesMatch \.(?i:csv)$>