2016-07-21 30 views
0

Ich bin neu zu verwenden .htaccess-Datei. Ich habe Bilddateien; a.jpeg & mehrere andere .jpeg-Dateien im selben Ordner. Ich möchte, dass der Client a.jpeg zwischenspeichert, aber nicht den Rest der .jpeg-Dateien.Legen Sie verschiedene Cache-Steuerelemente für Dateien der gleichen Erweiterung mit .htaccess

Hier ist, was meine .htaccess-Datei wie folgt aussieht:

#exception 
<Files a.jpeg> 
Header set Cache-Control "max-age=604800, public" 
</Files> 

# NEVER CACHE - rest of .jpegs 
<FilesMatch "\.(jpg|jpeg)$"> 
Header set Cache-Control "max-age=0, private, no-store, no-cache, must-revalidate" 
</FilesMatch> 

Das Problem, dass a.jpeg ist, wie alle anderen .jpegs nicht zwischengespeichert werden. Freundlich helfen.

Die Webiste, dass ich meine gecached und nicht-Cache-Dateien zu testen, verwende, ist dies: https://www.giftofspeed.com/cache-checker/

Antwort

0

Ich kam zu wissen nur, dass die <FilesMatch ""> ein regulärer Ausdruck für eine Datei des Regex daher suchen erwartet: innerhalb "\b^(?!a)\w*\.jpg\b" Das FilesMatch-Tag hat funktioniert.

ist die komplette .htaccess-Datei:

# NEVER CACHE - rest of .jpegs 
<FilesMatch "\b^(?!a.jpg)\w*\.jpg\b"> 
Header set Cache-Control "max-age=0, private, no-store, no-cache, must-revalidate" 
</FilesMatch>