Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Apache FilesMatch - matching a folder in the regular expression

I'm trying to cache some files using a .htaccess file for Apache2. I want to cache a particular folder longer than anything else, so i've been trying to use the FilesMatch directive like this:

<FilesMatch "skins(.*)\.(jpg|png|gif)">
ExpiresDefault A2592000
</FilesMatch>

I'm hoping to be able to cache all image files in the /skins/ directory and it's subdirectories. However, I can't quite get the regular expression to work - Apache just ignores it altogether.

How do you match a folder with <FilesMatch> in a .htaccess file?

Cheers,
Matt

like image 273
fistameeny Avatar asked May 15 '09 11:05

fistameeny


1 Answers

FilesMatch should only match filenames. You can place the .htaccess file inside the skins directory and it should look something like this:

<FilesMatch "\.(jpg|png|gif)">
    ExpiresDefault A2592000
</FilesMatch>

Alternatively, in httpd.conf, you could use:

<Directory path_to_the_skins_dir>
    <FilesMatch "\.(jpg|png|gif)">
        ExpiresDefault A2592000
    </FilesMatch>
</Directory>

Good luck.

like image 152
arahaya Avatar answered Sep 18 '22 06:09

arahaya