Nasıl (. Htaccess kullanarak?) Doğru HTTP Caching ile JSMin PHP script sayesinde bir dosya hizmet mi

2 Cevap php

Ben Servisten önce benim javascript ve css dosyaları yorum ve boşluk kaldırmak JSMin için PHP komut dosyası kullanıyorum. Ben ayarlanırsa

<script src="jsmin.php?file=myfile.js">

Last-Modified HTTP başlık bir komut dosyası için kontrol asla beri dosyası hiç, önbelleğe değildir. . Yani JSMin aracılığıyla dosyalarını çalıştırmak ve (umarım) önbelleğe almayı etkinleştirmek için, ben aşağıdaki ayarları ile htaccess kullanıyorum:

RewriteEngine on
RewriteRule ^.*$ jsmin.php?file=%{REQUEST_FILENAME} [NC,L]

Sonra kullanabilirsiniz:

<script src="myfile.js">

ve JSMin etkilerini olsun.

Apache hala Last-Modified başlığı ile dosya hizmet etmez, bu yüzden hala tarayıcı tarafından önbelleğe değildir. Ben Apache If-Modified-Since başlığına bakmak ve söz konusu dosya uygun zamanda beri değiştirilmişse yalnızca JSMin komut hizmet edebilir bir yolu var mı? Aksi takdirde, ben bir önbelleğe alınmış sürümünü kullanmak için tarayıcı istiyorum.

2 Cevap

Neden dağıtmadan önce dosyayı sıkıştırmak değil mi? Çalışma sıkıştırarak daha karmaşık ve yavaş görünüyor.

Ben kullanmak http://developer.yahoo.com/yui/compressor/

+1 for a build process. Deployment should be automated. This makes the outcome predicable.

Also, Using a file path like that in a url is asking for someone to de-reference it and load a file they're not supposed to. Consider:

<script src="jsmin.php?file=../../../../../../../../../../../../../../etc/passwd">

Script sadece komut satırında sizin sorun için birlikte bu hakkı geçen varsa.