Podpora

author
6 minutes, 48 seconds Read
Aktualizováno 4. října 2018

Co je to .htaccess?

Soubor .htaccess (známý také jako soubor pro přístup k hypertextu) se používá k definování specifických konfigurací pro webové servery běžící na Apache. Tento konfigurační soubor ovlivňuje adresář, ve kterém je uložen, i všechny podadresáře v tomto adresáři. Pokud je například soubor .htaccess umístěn v kořenovém adresáři, ovlivní celý web. Na druhou stranu, pokud je soubor umístěn v určitém adresáři, ovlivní pouze tento adresář a všechny podadresáře v něm.

Některé platformy CMS, jako je WordPress a Drupal, také obsahují soubory .htaccess, které umožňují zadat určité konfigurace platné pouze pro daný web. Soubor .htaccess lze použít k dosažení různých věcí, včetně:

  • Provedení přesměrování
  • Přizpůsobení chybových stránek
  • Omezení uživatelů na základě IP adresy
  • Přidání typů MIME
  • Nastavení hlaviček HTTP
  • Ochrana určitých složek heslem

Soubor .htaccess lze použít k dosažení mnohem více, výše uvedený seznam však patří k nejoblíbenějším způsobům použití .htaccess. V následující části jsou uvedeny různé příklady .htaccess a způsoby jejich použití v rámci vlastního webu.

Příklady .htaccess

V rámci souboru .htaccess lze dosáhnout obrovského množství možností konfigurace. V následujícím seznamu je uvedeno několik nejčastěji používaných příkladů.

Přesměrování uživatelů na konkrétní chybovou stránku

Na základě stavového kódu, který vrací konkrétní soubor nebo stránka, můžete uživatele přesměrovat na vlastní chybovou stránku. Níže uvedený příklad ukazuje několik variant, které můžete použít. Každá z nich závisí na vráceném stavovém kódu.

ErrorDocument 403 /forbidden.htmlErrorDocument 404 /notfound.htmlErrorDocument 500 /servererror.html

Přidání vlastní hlavičky a hodnoty

Vlastní hlavičky HTTP lze přidat také prostřednictvím souboru .htaccess. Existuje několik možností syntaxe, například set, která nahradí jakoukoli předchozí hlavičku se stejným názvem, add, která přidá hlavičku, i když existuje jiná se stejným názvem. Pro více informací navštivte průvodce hlavičkami stránek Apache.

Header set X-Custom "Custom Value"

V uvedeném příkladu odpovídá text X-Custom hlavičce HTTP, která bude vrácena v odpovědi HTTP, zatímco text Custom Value odpovídá hodnotě této konkrétní hlavičky.

Blokování uživatelů na základě IP

Pro účely zabezpečení můžete v souboru .htaccess blokovat uživatele na základě jejich IP. V níže uvedeném příkladu jsou blokovány dvě IP adresy. Můžeme se také rozhodnout, že nebudeme uvádět poslední číslici IP adresy, což bude mít za následek, že budou blokovány všechny IP adresy, které obsahují první tři číslice.

order allow,denydeny from 255.x.x.xdeny from 123.x.x.xallow from all

Blokování odkazovačů (ochrana hotlinků)

Blokování odkazovačů, známé také jako ochrana hotlinků, je metoda používaná k blokování určitých odkazovačů, které odkazují na aktiva vašeho webu a tím kradou šířku pásma. Pomocí níže uvedeného úryvku můžete definovat, které domény nesmí odkazovat na váš obsah, a proto se jim zobrazí chyba 403 Forbidden.

RewriteCond %{HTTP_REFERER} unwanteddomain\.com RewriteCond %{HTTP_REFERER} unwanteddomain2\.comRewriteRule .* - 

Podobné funkce lze dosáhnout také prostřednictvím ovládacího panelu KeyCDN. Chcete-li se dozvědět, jak implementovat ochranu hotlinků ve své zóně KeyCDN, navštivte našeho průvodce Odkazovači zóny.

Přidání typů MIME

Typy MIME definují, na co se vztahuje konkrétní přípona souboru. Proto je někdy nutné nastavit je v souboru .htaccess, abyste webový server informovali, na jaký typ souboru odkazujete. Úplný seznam typů MIME najdete na stránce Seznam typů MIME.

AddType image/gif .gif .GIF

Využití ukládání do mezipaměti prohlížeče

Soubor .htaccess lze také použít ke zlepšení výkonu webových stránek využitím ukládání do mezipaměti prohlížeče. U každého typu souboru lze definovat konkrétní hodnotu expirace. Můžete definovat vlastní seznam typů souborů a změnit každou jejich hodnotu expirace, nicméně následující úryvek je dobrým výchozím bodem.

## EXPIRES CACHING ##<IfModule mod_expires.c> ExpiresActive On ExpiresByType image/jpg "access 1 year" ExpiresByType image/jpeg "access 1 year" ExpiresByType image/gif "access 1 year" ExpiresByType image/png "access 1 year" ExpiresByType text/css "access 1 month" ExpiresByType text/html "access 1 month" ExpiresByType application/pdf "access 1 month" ExpiresByType text/x-javascript "access 1 month" ExpiresByType application/x-shockwave-flash "access 1 month" ExpiresByType image/x-icon "access 1 year" ExpiresDefault "access 1 month"</IfModule>## EXPIRES CACHING ##

Zapnutí funkce Gzip

Zapnutí funkce Gzip na serveru původu pomáhá zlepšit výkon vašich prostředků, protože jsou komprimovány a mohou tak být doručeny rychleji. Můžete definovat vlastní seznam typů MIME, které mají být Gzipovány, nicméně níže uvedený příklad je dobrým výchozím bodem. Chcete-li se dozvědět více o výhodách technologie Gzip a o tom, jak funguje, přečtěte si náš článek Povolit kompresi Gzip.

<IfModule mod_deflate.c> 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/javascript AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/xml</IfModule>

Odmítnutí metod požadavků HTTP

Existuje několik metod požadavků HTTP, které se používají k dosažení různých výsledků. Pokud existují určité metody HTTP, které nechcete, aby uživatel na vašem webu používal, můžete je zakázat pomocí .htaccess.

RewriteCond %{REQUEST_METHOD} !^(HEAD|OPTIONS|POST|PUT)RewriteRule .* - 

Provedení přesměrování 301

Pokud potřebujete provést přesměrování 301 pro stránku, která se přesunula, lze toho snadno dosáhnout pomocí .htaccess. Stačí použít níže uvedený úryvek, který vezme první adresu URL (starý odkaz) a přesměruje ji na druhou adresu URL (nový odkaz).

Redirect 301 https://yourwebsite.com/old-page https://yourwebsite.com/new-page

Zapnutí CORS

Zapnutí CORS je klíčové pro poskytování statických prostředků z různých původů. Následující úryvek můžete přidat do souboru .htaccess, abyste umožnili všem origins sdílet zdroje. V opačném případě, pokud toto není povoleno a váš origin požaduje prostředky od jiného originu, obdržíte chybu CORS. Více informací o CORS najdete v našem článku Jak používat CORS.

<IfModule mod_headers.c> <FilesMatch "\.(ttf|ttc|otf|eot|woff|font.css|css|js|gif|png|jpe?g|svg|svgz|ico|webp)$"> Header set Access-Control-Allow-Origin "*" </FilesMatch></IfModule>

Výše uvedené příklady .htaccess jsou skvělým výchozím bodem pro ty, kteří ještě nejsou obeznámeni s používáním .htaccess, ale přesto chtějí provést určité konfigurace webového serveru. Soubor .htaccess má schopnost provádět celou řadu úloh a je poměrně flexibilní, aby vyhovoval potřebám vašeho webu. Přestože tyto příklady .htaccess jsou skvělým výchozím bodem, možná budete chtít provést některé pokročilejší konfigurace .htaccess. Další informace o tomto tématu najdete v článku AskApache – průvodce souborem .htaccess.

.

Similar Posts

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.