Mod_expires kullanarak expires üstbilgisini ekleyebileceğimi biliyorum. Ancak, Apache sunucusunda mod_expires yüklü değilse ve PHP gibi bir betik dili aracılığıyla dosyalara erişimi yönlendirmek istemediğimde ne yapabilirim?Mod_expires olmadan sona erme başlığını ekle?
cevap
: Expires bir absolute time gerektirdiğinden
Header set Expires "..."
Ama kullanmak Cache-Control 'ın max-age erişim zamanına göre zaman parametreleri:
Header merge Cache-Control max-age=3600
statik başlıkları sona eriyor varsa, aşağıdakiler bir senin js ve css dosyalarına başlık Expires katacak:
<FilesMatch "\.(js|css)$">
Header set Expires "Fri, 01 Jan 2010 00:00:00 GMT"
</FilesMatch>
Sorun şu ki; Geçerli erişim zamanına göre gelecek tarihi aldatmak ve sabit bir tarih kullanamıyorum. Yani bu işe yaramaz. – Sebi
Bu sonraki ziyaretlerde sayfayı yenilemek için tarayıcı söylemeliyiz. Son kullanma tarihi sadece geçmişte olmalı ... geçmişte "sadece" yapmak için PHP'yi kullanarak tarihi ayarlayabilir veya bu cevabı bulduğunuz tarih olarak bırakabilirsiniz!
header("Cache-Control: no-cache, must-revalidate");
header("Expires: Thu, 2 Sep 2010 05:00:00 GMT");
GÜNCELLEME: Özür - Kaçırdığım PHP yoluyla dosya yönlendirme konusunda cümlede "Yapma!" Ayrıca bu HTML meta etiketlerini kullanabilirsiniz:
<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="expires" content="Thu, 2 Sep 2010 05:00:00 GMT">
Üzgünüz, bu işe yaramıyor, çünkü html olmayan dosyalara Expires üstbilgisini eklemem gerekiyor. Ama tamam, ilk sorumu yazmayı unuttum. – Sebi
Yani, Expires üstbilgisini kullanmak yerine Cache-Control üstbilgisini mi kullanmak istiyorsunuz? – Sebi
Sadece Cache-Control ve Expires kullanmadan çalışır. – Sebi