1. Forum używa plików Cookies. Dowiedz się więcej o celu ich używania i możliwości zmiany ustawień Cookies w przeglądarce. Czytaj więcej...

ROZWIĄZANE "Wykorzystaj pamięć podręczną przeglądarki"

Dyskusja w 'Sklep internetowy eSklep' rozpoczęta przez użytkownika Pykon, 15 Listopad 2016.

  1. Tomek333

    Tomek333 Ulubieniec

    Wiadomości:
    196
    Docenione treści:
    6
    thel powiedział "bardziej byłbym zdania, że takie elementy jak css i js powinny mieć krótsze czasy."

    Czy można dodać dwie regułki ?

    :Location *.(|jpg|jpeg|png|gif||pdf|swf|ico)
    Expires M31536000
    :Location

    :Location *.(js|css)
    Expires M31536000 - i tu zmienić ten czas na krótszy zgodnie z tym co @TheL mówił
    :Location






     
  2. Goldlux24

    Goldlux24 Bystrzak

    Wiadomości:
    66
    Docenione treści:
    18
    Myślę, że nie do końca o to mu chodziło
     
  3. Tomek333

    Tomek333 Ulubieniec

    Wiadomości:
    196
    Docenione treści:
    6
  4. TheL

    TheL @Lider VIP Beta-tester

    Wiadomości:
    2 400
    Docenione treści:
    532
    ja bym ustawił dl grafik 5 dni, dla pdfów i js oraz cs 24 godziny
     
    Tomek333 lubi to.
  5. Tomek333

    Tomek333 Ulubieniec

    Wiadomości:
    196
    Docenione treści:
    6
    @TheL czyli rozumiem mogę dodać dwie regułki oddzielne dla grafik i dal pdf, js i css ?
     
  6. TheL

    TheL @Lider VIP Beta-tester

    Wiadomości:
    2 400
    Docenione treści:
    532
    jak się nie mylę to można zrobić tak:
    Kod:
     ExpiresActive On
      ExpiresDefault "access plus 1 seconds"
      ExpiresByType image/x-icon "access plus 1 year"
      ExpiresByType image/jpeg "access plus 1 week"
      ExpiresByType image/png "access plus 1 week"
      ExpiresByType image/gif "access plus 1 week"
      ExpiresByType application/x-shockwave-flash "access plus 1 week"
      ExpiresByType text/css "access plus 24 hour"
      ExpiresByType text/javascript "access plus 24 hour"
      ExpiresByType application/x-javascript "access plus 1 month"
      ExpiresByType text/html "access plus 600 seconds"
      ExpiresByType application/xhtml+xml "access plus 600 seconds"
      Header set Cache-Control "public"
      Header set Cache-Control "private"
      Header set Cache-Control "private, must-revalidate"
      Header unset ETag
      FileETag None
      Header unset Last-Modified
    
    czasy ustawcie pod siebie :)
     
    Słoik, Tomek333 oraz Goldlux24 lubią to.
  7. Tomek333

    Tomek333 Ulubieniec

    Wiadomości:
    196
    Docenione treści:
    6
    Mogę spróbować a tak jak niżej nie można dodać do htaccess ?

    Kod:
    :Location *.(jpg|jpeg|png|gif|swf|ico)
    Expires M432000
    :Location
    :Location *.(js|css|pdf)
    Expires M86400
    :Location
     
  8. TheL

    TheL @Lider VIP Beta-tester

    Wiadomości:
    2 400
    Docenione treści:
    532
    Wstaw kod jaki Ci podałem :D on działa :)
     
  9. Tomek333

    Tomek333 Ulubieniec

    Wiadomości:
    196
    Docenione treści:
    6
    Potwierdzam działa bo narzędzie nie pokazuje już tego błędu :) Dziękuję
     
  10. TheL

    TheL @Lider VIP Beta-tester

    Wiadomości:
    2 400
    Docenione treści:
    532
    nie ma za co :) musi działać :)
     
  11. Goldlux24

    Goldlux24 Bystrzak

    Wiadomości:
    66
    Docenione treści:
    18
    @TheL Dzięki, każda modyfikacja się przydaje :)
     
  12. Słoik

    Słoik Znawca

    Wiadomości:
    245
    Docenione treści:
    26
    @TheL Odgrzeję kotleta. Mam twoje ustawienia w htaccess Clickshopa i raczej większość tego co trzeba zapisuje się w cache. Problem jest z web font. Podaje je z subdomeny, gdzie mam, oprócz podobnego kodu do tego w domenie dodane:
    Kod:
    AddType application/vnd.ms-fontobject .eot
    AddType application/x-font-ttf .ttf
    AddType application/x-font-opentype .otf
    AddType application/x-font-woff .woff
    AddType application/x-font-woff2 .woff2
    AddType image/svg+xml .svg
    
    FilesMatch "\.(js|ttf|ttc|otf|eot|woff|woff2|font.css|css)$"
    Header set Access-Control-Allow-Origin "*"
    
    ExpiresActive on
    ExpiresByType application/vnd.ms-fontobject "access plus 1 year"
    ExpiresByType application/x-font-ttf "access plus 1 year"
    ExpiresByType application/x-font-opentype "access plus 1 year"
    ExpiresByType application/x-font-woff "access plus 1 year"
    ExpiresByType application/font-woff2 "access plus 1 year"
    ExpiresByType image/svg+xml "access plus 1 year"
    
    Do htaccess Clickshopa dodałem także powyższy kod z wykluczeniem polecenia FilesMatch i Allow-Origin.
    Problem polega jednak na tym, że mimo teoretycznie długiego okresu trzymania w cache czcionek, nie są one tam zapisywane - za każdą nową sesją jest "flash" czcionek; z fallback na webfont. Podczas samej sesji wydaje się ok, przechodząc pom. stronami nie widać flashu.
    W CSS, font-face ma src określone jako local() i oczywiście ścieżka url() do katalogu subdomeny.
    Ogólnie mówiąc flash czcionek pokazuje się podczas każdej nowej sesji na Chrome ale już nie na Safari. Tak więc czy Chrome wymaga jakichś innych poleceń dla cache? Albo składnia poleceń htaccess jest niewłaściwa dla serwerów home.pl?
     
  13. TheL

    TheL @Lider VIP Beta-tester

    Wiadomości:
    2 400
    Docenione treści:
    532
    a jaki dokładnie masz plik czcionki?
     
  14. Słoik

    Słoik Znawca

    Wiadomości:
    245
    Docenione treści:
    26
    Wszystkie typy, zaczynając od woff2, woff, ttf, otf, eot oraz svg. W chwili obecnej, w htaccess Clickshopa mam usunięte wszystko co dotyczyło cachowania czcionek i zostawiłem taki wpis w katalogu subdomeny gdzie mam czcionki plus inne pliki:

    Kod:
    AddType application/vnd.ms-fontobject .eot
    AddType application/x-font-ttf .ttf
    AddType application/x-font-opentype .otf
    AddType application/x-font-woff .woff
    AddType application/x-font-woff2 .woff2
    AddType image/svg+xml .svg
    <FilesMatch "\.(js|ttf|ttc|otf|eot|woff|woff2|font.css|css|jpg|png|jpeg)$">
    Header set Access-Control-Allow-Origin "*"
    </filesMatch>
    <ifmodule mod_expires.c>
      ExpiresActive On
      ExpiresDefault "access plus 1 seconds"
      ExpiresByType text/html "access plus 0 seconds"
      ExpiresByType image/gif "access plus 2678400 seconds"
      ExpiresByType image/jpeg "access plus 2678400 seconds"
      ExpiresByType image/png "access plus 2678400 seconds"
      ExpiresByType text/css "access plus 518400 seconds"
      ExpiresByType text/javascript "access plus 2678400 seconds"
      ExpiresByType application/x-javascript "access plus 2678400 seconds"
    </ifmodule>
    
    # Cache Headers
    <ifmodule mod_headers.c>
      # Cache specified files for 31 days
      <filesmatch "\.(ico|flv|jpg|jpeg|png|gif|css|swf)$">
      Header set Cache-Control "max-age=2678400, public"
      </filesmatch>
      # Don't cache HTML
      <filesmatch "\.(html|htm)$">
      Header set Cache-Control "max-age=0, private, must-revalidate"
      </filesmatch>
      # Cache Javascripts for 31 days
      <filesmatch "\.(js)$">
      Header set Cache-Control "max-age=2678400, private"
      </filesmatch>
     <FilesMatch "\.(ttf|ttc|otf|eot|woff|woff2)$">
    Header set Cache-Control "public, max-age=31536000"
    </filesMatch>
    </ifmodule>
    Header unset ETag
    FileETag None
    Header unset Last-Modified
    Niby to działa, bo status nagłówka dla plików czcionek zmienił się z 304 na 200 ale sama składnia nie wygląda mi do końca prawidłowo. Czy muszę używać tagów </filesmatch> itp.?
     
  15. LukaszC

    LukaszC eCommerce Team home.pl

    Wiadomości:
    973
    Docenione treści:
    108
    </filesmatch> ta składnie nie zadziała w home.pl, ponieważ nie posiadamy czystego Apacha
     
  16. Słoik

    Słoik Znawca

    Wiadomości:
    245
    Docenione treści:
    26
    To jak ustawiać cache osobno dla różnych plików?
     
  17. casar

    casar Profesjonalista

    Wiadomości:
    492
    Docenione treści:
    132
    Zamiast <FilesMatch> użyj <Files>. Może Ci się przydać też komenda Expires
     
    LukaszC lubi to.
  18. Słoik

    Słoik Znawca

    Wiadomości:
    245
    Docenione treści:
    26
    Dzięki @casar
    Nie wiem jednak co teraz o tym myśleć (zmieniać czy nie), gdyż mając na subdomenie htaccess z <FilesMatch> czcionki mają status 200 czyli są w pełni cache'owane na dysku użytkownika...
     
  19. LukaszC

    LukaszC eCommerce Team home.pl

    Wiadomości:
    973
    Docenione treści:
    108
    @Słoik dowiedziałem się o naszych administratorów, że sklep posiada trochę inną konfigurację i jest w stanie przetworzyć dyrektywę <FilesMatch>, jeżeli cachują się fonty to zostaw taką dyrektywę. Tylko należy pamiętać, że htaccess w sklepie jest mocno powiązany z aplikacjami.
     

Poleć forum znajomym