Ta strona używa ciasteczek (cookies), dzięki którym nasz serwis może działać lepiej. Dowiedz się więcej OK, rozumiem

Cache w pliku .htaccess

Podstawy tworzenia stron to dla Ciebie pestka? Pora na bardziej zaawansowane rozwiązania, które zautomatyzują i uatrakcyjnią funkcjonowanie Twojej strony - Ruby, Node.js, ASP, JSP, Python i wiele innych technologii.

Cache w pliku .htaccess

Post 09.01.2017, 20:07:50

Witam wszystkich serdecznie. Naszukałem się sporo o cachowaniu strony dzięki plikowi .htaccess i skleciłem wstępnie kod na moją stronę. Czy mógłby mi ktoś doradzić, czy mój plik .htaccess jest dobrze napisany? Chodzi mi głównie o to, czy dobrze jest rozwiązane cachowanie strony. Czytałem o tym w różnych miejscach i już mam mętlik w głowie:

Kod: Zaznacz cały
# Gzip
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/plain text/html text/xml text/css text/javascript application/xml application/javascript application/x-javascript
</IfModule>

<IfModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</IfModule>

<ifModule mod_headers.c>
Header set Connection keep-alive
</ifModule>


# Cache 7 dni
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault A604800
</IfModule>

# Cache 24 godziny
<FilesMatch "\.(html|htm|php)$">
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault A86400
Header append Cache-Control "public"
</IfModule>
</FilesMatch>

# Cache 30 dni
<FilesMatch "\.(js|css|xml|ico|flv|jpg|jpeg|gif|pdf|png|swf|eot|ttf|otf|woff|woff2)$">
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault A2592000
Header append Cache-Control "public"
</IfModule>
</FilesMatch>

Header unset ETag
FileETag None


Ewentualnie może ktoś doradzi coś innego.

Pozdrawiam i proszę o pomoc :)
koko887
Posty: 13
Dołączył(a): 24.09.2009

Re: Cache w pliku .htaccess

Post 09.01.2017, 21:30:14

Nie ma czegoś takiego jak "cache w pliku .htaccess" - to, co pokazałeś, to kompresja GZIP i ustawianie nagłówka Expires dla różnych typów dokumentów. Nagłówki te mówią przeglądarce, jak długo powinna trzymać w swoim cache określone typy plików, ale nie ma to nic wspólnego z cache strony po stronie serwera.

Przede wszystkim niepotrzebnie robisz kompresję za pomocą mod_deflate i mod_gzip - wybierz jeden z tych modułów (nie wiem który jest zainstalowany na Twoim serwerze, ale stawiam na ten pierwszy).

Jeśli chodzi o ustawianie nagłówków Expires, to ja zwykle korzystam z tego gotowca: https://paulund.co.uk/set-expire-headers-in-htaccess
Avatar użytkownikatoszcze
Bartosz Romanowski

SuperGod
SuperGod

Posty: 8846
Dołączył(a): 14.10.2003
Lokalizacja: Mysłowice

Re: Cache w pliku .htaccess

Post 09.01.2017, 22:13:51

A deflate jest lepsze czy gorsze od gzipa? Czy jest raczej podobne? Na hostingu mam dostępne oba te moduły, ale chciałbym użyć lepszego (może szybszy, może mniej obciążający procesor).

Co do cache to chodzi mi oczywiście o instrukcje dla przeglądarki co ma pobrać i ile czasu ma tego używać.

A jest jakaś znacząca różnica w używaniu Expires w formie:

<FilesMatch "\.(js|css|xml|ico|flv|jpg|jpeg|gif|pdf|png|swf|eot|ttf|otf|woff|woff2)$">

a

ExpiresByType text/xml "access plus 0 seconds"
ExpiresByType application/xml "access plus 0 seconds"
ExpiresByType application/json "access plus 0 seconds"


Chodzi mi o to, że w kodzie, który podałem zapis dla Expires jest sporo krótszy niż wypisywanie każdego typu pliku i nie wiem czy to jest wogóle jakaś różnica jeśli chodzi o czas ładowania strony.

Pozdrawiam i proszę o pomoc :)
koko887
Posty: 13
Dołączył(a): 24.09.2009

Re: Cache w pliku .htaccess

Post 10.01.2017, 23:50:57

Jeśli na Twoim serwerze dostępne są oba moduły, to wybierz którykolwiek (ale tylko jeden) - z Twojego punktu widzenia nie ma pomiędzy nimi większej różnicy.

Ten dłuższy zapis jest taki z dwóch powodów: jest czytelniejszy i pozwala (w razie potrzeby) na łatwą modyfikację czasu życia dla poszczególnych typów plików. Jeśli chodzi o czas ładowania strony, to nie sądzę, aby pomiędzy tymi dwoma metodami była jakaś znacząca różnica.
Avatar użytkownikatoszcze
Bartosz Romanowski

SuperGod
SuperGod

Posty: 8846
Dołączył(a): 14.10.2003
Lokalizacja: Mysłowice


Powrót do Alternatywne technologie


 


  • Podobne wątki
    Odpowiedzi
    Wyświetlone
    Ostatni post

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość

Hosting, Domeny, SSL
iCash

Subskrypcja

Mamy 49387 zarejestrowanych użytkowników.
Najnowszy użytkownik: AlmaPeeb


Nasi użytkownicy napisali:

  • 933271 wiadomości
  • w 245691 tematach

Najnowsze wpisy na blogu

Najnowsze artykuły

Najaktywniejsi (ostatnie 30 dni)