Ortada temiz ve en kolay yolu arasında, I would:
- In the CSS, point to images with URLs containing a distinct marker ; like "
image.png?VERSION_NUMBER
" (literaly)
- Bu Gelişen ise CSS dosyası kullanılacak sağlayacak
- Önbellek ile herhangi bir sorunu önlemek için, ben tarayıcı tarafından önbelleğe edilmeyecek dosyaları belirtmek için (geliştirme makinede) Apache yapılandırmak istiyorum
- I would use some kind of "build process", that would replace this
VERSION_NUMBER
marker by the real version number in every CSS file (and possibly, JS, PHP, HTML, ... )
- Bu doğru sürüm numarasını içeren, değiştirilmiş dosyaları yaratacak
- Bu dosyalar webserver konuşlandırıldı olanlar olacak
- İdeal olarak,
VERSION_NUMBER
her dosyanın SVN revizyon olabilir; Bu şekilde, sadece gerçekten değiştirilmiş dosyaları modifiye olurdu; ama aynı zamanda zor: her bir dosyanın (! CSS dosyasındaki her URL) için, bu işaretleyici değiştirmeden önce revizyon sayı belirlemek zorunda!
Bazı tarayıcı çünkü sorgu dizesi cache images / js / css yapmazsanız, işaretleyici dosyaları 'isimleri dahil olabilir.
Ve şimdi bir "inşa süreci" olduğunu, ayrıca örneğin, JS ve CSS dosyaları minifying gibi, diğer bazı manipülasyonlar yapmak için kullanabilirsiniz
Bir yan not olarak: evet, inşa süreci / komut dosyası oluşturma ve test biraz zaman alır; Bu akıllıca olmaz, bu (muhtemelen daha! PHP sayfa başına en az bir) sürüm numarasını belirtmek için bu bir değişkeni kullanarak ... Ama, performansları için, CSS dosyaları hizmet veren, PHP ile sunucu CSS dosyaları daha kolay olabilir ; bu nedenle, muhtemelen daha iyi inşa sürecini yazmak için biraz daha zaman alacak ...