Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Nie cachuje plików js i css
konrados
post
Post #1





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

Ostrzeżenie: (0%)
-----


Cześć,

Mam taki oto problem, że żadna przeglądarka nie cachuje moich plików css i js (obrazki owszem cachuje). Gdy szukam problemu w googlu, okazuje się, że u większości właśnie cachuje i ludzie szukają możliwości jak to wyłączyć, no u mnie odwrotnie - chciałbym to właśnie włączyć.

Znalazłem takie oto rozwiązanie, które należy umieścić w pliku .htaccess:

# Enable ETag
FileETag MTime Size

# Set expiration header
ExpiresActive on
ExpiresDefault "access plus 1 week"

I owszem, działa, ale jak zrobić by to działało tylko dla plików js i css? By mi przypadkiem nie zaczął cachować plików np. .php?

Albo może jest jakieś inne rozwiązanie, ale wyjąwszy wsadzanie kodu php do plików js by wysyłać odpowiednie headers?

I drugie pytanie - na str. apacha ( http://httpd.apache.org/docs/1.3/mod/core.html#fileetag ) znalazłem, że domyślnie to jest włączone (to całe FileETag) - czy dobrze myślę, że jeśli powyższy kod u mnie zadziałał, tzn. że u mnie to było wyłączone? A jeśli tak, to czy to normalna praktyka?

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
maly_swd
post
Post #2





Grupa: Zarejestrowani
Postów: 744
Pomógł: 118
Dołączył: 14.02.2009
Skąd: poziome

Ostrzeżenie: (0%)
-----


http://code.google.com/p/minify/ zainteresuj sie tym, zalety:

- kompresja GZIP
- wysylanie odpowiednich naglowkow
- ustawienie czasu cachu
- wywalanie komentarzy z plikow (rozmiar)
- sklejanie wielu plikow w 1 co przyspiesza ladowanie i daje wieksza kompresje

dziala na css i js
Go to the top of the page
+Quote Post
konrados
post
Post #3





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

Ostrzeżenie: (0%)
-----


Ojej, dzięki za odpowiedź, ale ja mam, na projekt, z reguły około trzech-czterech plików js (w tym dwa to jquery i jquery ui ściągane z google cdn) i jeden - dwa pliki css. Twoje rozwiązanie w moim przypadku to jak strzelanie z armaty do komara (IMG:style_emoticons/default/smile.gif)

Chcę tylko by js/css były pobierane z cache, na pewno jest jakaś prosta metoda... Szczególnie, że z tego co znalazłem, jest to standardowe ustawienie większości serwerów, tylko znowu ja mam jakieś problemy.

Ten post edytował konrados 5.04.2011, 09:10:05
Go to the top of the page
+Quote Post
thek
post
Post #4





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Konrados... To co podałes działać powinno. Tylko musisz użyć odpowiedniej regułki dla danego typu danych (IMG:style_emoticons/default/smile.gif) Ja stosuję to dla obrazków:
[APACHE] pobierz, plaintext
  1. ExpiresActive On
  2. # expires after a 10min in the client's cache
  3. ExpiresByType image/jpg A600
  4. ExpiresByType image/jpeg A600
  5. ExpiresByType image/pjpeg A600
[APACHE] pobierz, plaintext

Teraz poszukaj jaki typ to pliki css i js (IMG:style_emoticons/default/smile.gif)

Można też z
[APACHE] pobierz, plaintext
  1. <FilesMatch "\.(css|js)$">
  2. ExpiresDefault A600
  3. </FilesMatch>
[APACHE] pobierz, plaintext

Gdzie liczba za A oznacza czas życia w sekundach
Go to the top of the page
+Quote Post
konrados
post
Post #5





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

Ostrzeżenie: (0%)
-----


Ojej, trochę mnie nie było, więc idą spóźnione podziękowania i "pomógł" (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 21:40