Soubor .htaccess článek
Soubor .htaccess
K čemu je?
Soubor .htaccess slouží k úpravě chování webserveru na úrovni adresáře. Lze s ním nastavit směrování, hlavičky, omezení přístupu a další vlastnosti.
Jak jej vytvořím?
Jde o prostý textový soubor, ke kterému nepotřebujete pro jeho vytvoření žádný speciální software, stačí i Poznámkový blok ve Windows. Podmínkou správné funkčnosti je pojmenovat soubor .htaccess s tečkou na začátku a bez jakékoliv další přípony (.htaccess.txt nebude fungovat)
Kam s ním?
.htaccess patří vždy do adresáře, pro který má nastavení měnit. Zároveň však platí i pro všechny podadresáře. Pokud tedy chcete změnit nastavení pro celý web, umistěte jej do adresáře /web/
Několik příkladů
Přesměrování na www
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^mojedomena.cz [nc]
RewriteRule ^(.*)$ http://www.mojedomena.cz/$1 [r=301,nc]
Vlastní chybová stránka
ErrorDocument 400 /400.html
ErrorDocument 401 /401.html
ErrorDocument 403 /403.html
ErrorDocument 404 /404.html
Co znamenají jednotlivé chybové kódy? 400 - Chybný požadavek na server, 401 - požadována autorizace (přihlasovací údaje), 403 - přístup zamítnut, 404 - stránka nenalezena
Nastavení expirace pro soubory ukládané do cache prohlížeče
ExpiresActive on ExpiresByType application/x-javascript A604800
ExpiresByType application/javascript A604800
ExpiresByType text/javascript A604800
ExpiresByType text/css A604800
ExpiresByType image/gif A604800
ExpiresByType image/jpeg A604800
ExpiresByType image/jpg A604800
ExpiresByType image/p-jpeg A604800
ExpiresByType image/png A604800
Expriace se nastavuje podle požadovaných typů souborů. Též je možné zvolit jak dlouho dobu se má soubor v cache prohlížeče ukládat. Číslo A604800 je délka 7 dnů (1 týden) v sekundách.
Nasměrování aliasů do podadresáře aliasy/aliasova.domena.tld
RewriteCond %{REQUEST_URI} !^aliasy/
RewriteCond %{REQUEST_URI} !^/aliasy/
RewriteCond %{HTTP_HOST} ^(www\.)?(.*)$
RewriteCond %{DOCUMENT_ROOT}/aliasy/%2 -d
RewriteRule (.*) aliasy/%2/$1 [DPI]
Odstranění /www/ z adresy
RewriteBase /
RewriteCond %{REQUEST_URI} ^(/www/|/www)
RewriteRule ^(www/)(.*)$ https://%{HTTP_HOST}/$2 [R=301,L]
Článek ještě nikdo nehodnotil, buďte první!
Přidejte váš komentář a hodnoceníVáš komentář a hodnocení
Váš komentář se po zpracování může objevit v seznamu komentářů, případně i s reakcí od nás. Za zaslaný komentář i hodnocení předem děkujeme.