2009-05-15 18 views
9

Apache2 için .htaccess dosyası kullanarak bazı dosyaları önbelleğe almaya çalışıyorum. Ben uzun şeyden daha belirli bir klasörü önbelleğe almak istiyorum, bu yüzden ben böyle FilesMatch direktifini kullanmaya çalışıyorum: Ben tüm resim dosyalarını önbelleğe muktedir umuyorumApache FilesMatch - düzenli ifadedeki bir klasörü eşleştirme

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

/skins/dizin ve alt dizinleri. Ancak, normal ifadeyi işe yaramayabilirim - Apache bunu tamamen yok sayar.

Bir dosya ile <FilesMatch> bir .htaccess dosyasında nasıl eşleştirilir?

Alkış,
Matt

cevap

15

FilesMatch sadece, bu yüzden Sen "derileri" dizin içinde .htaccess dosyası yer verebilir ve onu gibi görünmelidir dosya adları

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

veya eğer aynı olmalıdır Kullanabileceğin httpd.conf dosyası,

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

iyi şanslar

+0

Yardımlarınız için çok teşekkürler. Ana httpd.conf değiştirerek kaydetmek için birden çok .htaccess dosyaları için gidersiniz. Tekrar teşekkürler, Mat – fistameeny

3

Directory ve Location komutları, birçok sunucuda .htaccess'da çalışmaz. Tek çözüm hedef alt klasöründe .htaccess oluşturmak ve orada FilesMatch komutunu kullanmaktır.

0

<Directory> ve <Location>

gidebilecekler ... see here <If> hangi is allowed also in the “Context“ .htaccess (sadece httpd.conf) kullanabilir ... .htaccess disallowed, ancak.

<If "%{REQUEST_URI} =~ m#^/_stats/.*\.(jpg|png|css|js)#"> 
    Header unset ETag 
    FileETag None 

    ExpiresActive On 
    ExpiresDefault "access plus 1 day" 
</If> 

Notlar: _stats benim yeniden yazma url Bu

Test ve çalışma ... Eğer bir uzantısı ve başka bir şey, bir RegExp kavrayabilir ve bir taban yolu için eşleşmesini sağlar , gelen URL değil (bu sizin ucunuzda bir fark yaratırsa), emin değil, neden eşleşmeye karşı çalışıyor…

# sadece bir fark var / yerine "kapısı" dışında düzenli bir ifade için (tam anlamıyla / kullanmam gerektiğinden, bazı çıkışlar kaydeder).