Gzip komprese je klíčová technika pro zrychlení načítání webových stránek. Pomocí gzip komprese můžeme výrazně snížit velikost přenášených dat mezi serverem a klientem, což vede k rychlejšímu načítání stránek a lepšímu uživatelskému zážitku. Tento článek poskytne podrobný návod, jak nastavit gzip kompresi pomocí souboru .htaccess.
Co je gzip komprese?
Gzip je algoritmus pro kompresi souborů, který zmenšuje velikost textových souborů, jako jsou HTML, CSS a JavaScript. Komprimované soubory jsou pak rychleji přenášeny přes síť, což zkracuje dobu načítání webových stránek.
Předpoklady
Před zahájením nastavení gzip komprese se ujistěte, že máte přístup k souboru .htaccess na vašem webovém serveru. Tento soubor se obvykle nachází v kořenovém adresáři vaší webové aplikace.
Základní nastavení gzip komprese
Otevřete soubor .htaccess ve vašem textovém editoru a přidejte následující kód:
<IfModule mod_deflate.c>
# Komprimovat HTML, CSS, JavaScript, Text, XML a Fonty
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE application/x-font
AddOutputFilterByType DEFLATE application/x-font-opentype
AddOutputFilterByType DEFLATE application/x-font-otf
AddOutputFilterByType DEFLATE application/x-font-truetype
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE font/opentype
AddOutputFilterByType DEFLATE font/otf
AddOutputFilterByType DEFLATE font/ttf
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/x-icon
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml
# Prohlížeče s chybami ve starších verzích
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
Header append Vary User-Agent
</IfModule>
Vysvětlení kódu
- <IfModule mod_deflate.c>: Zkontroluje, zda je modul mod_deflate načten.
- AddOutputFilterByType DEFLATE: Určuje typy souborů, které budou komprimovány.
- BrowserMatch: Řeší problémy s kompatibilitou u starších verzí prohlížečů.
- Header append Vary User-Agent: Přidává hlavičku pro zajištění správné komprese pro různé prohlížeče.
Rozšířené nastavení gzip komprese
Pro optimalizaci gzip komprese můžete přidat další nastavení. Například můžete vyloučit některé soubory nebo adresáře z komprese:
<IfModule mod_deflate.c>
# Základní nastavení gzip komprese
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript
# Vyloučení konkrétních souborů
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
# Vyloučení konkrétních adresářů
SetEnvIfNoCase Request_URI ^/exclude-directory/ no-gzip dont-vary
</IfModule>
Nastavení gzip komprese v souboru .htaccess je účinným způsobem, jak zlepšit výkon vašich webových stránek. Tento proces zahrnuje úpravu souboru .htaccess a přidání potřebných direktiv pro kompresi souborů. Pravidelným testováním a optimalizací můžete zajistit, že vaše stránky budou rychlé a uživatelsky přívětivé.