.htaccess
.htaccess
je dodatečný konfigurační soubor webových serverů (např. Apache). Soubor je umisťován do adresářů, ve kterých jsou uloženy soubory s webovými stránkami. V souboru jsou uvedena nastavení, která se vztahují na adresář, ve kterém je soubor umístěn a také všechny jeho podadresáře.
Popis
Název souboru .htaccess
začíná tečkou, protože takový soubor je v unixových systémech považován za skrytý soubor (tj. že se nezobrazuje při běžném výpisu adresáře, více viz příkaz ls
). Účelem souboru .htaccess
je zpřístupnit možnost měnit některá nastavení webového serveru uživateli, který může měnit obsah webových stránek (konfigurační soubory webového serveru může měnit jen správce počítače).
Pokud webový server zpracovává požadavek na nějakou webovou stránku, musí respektovat změny ve svém nastavení (tj. direktivy) uvedené nejen v souboru .htaccess
nacházejícím se ve stejném adresáři jako požadovaná webová stránka, ale též v případných dalších souborech .htaccess
, které se mohou nacházet ve nadřízených adresářích. Proto je použití souboru .htaccess
spjato se sníženým výkonem webového serveru a tato vlastnost je vypínána pro dosažení vyššího výkonu.
Původním účelem souboru .htaccess
byla (jak jeho název napovídá) definice omezení přístupu k webovým stránkám uloženým ve stejném adresáři, například pomocí jména a hesla nebo podle IP adresy přistupujícího počítače. V současné době však lze soubor .htaccess
využít k mnoha dalším nastavením, například typ obsahu, znaková sada, přesměrování na jiné stránky (pomocí další součásti Apache, modulu mod rewrite), pro definici lokalizovaných chybových hlášení protokolu HTTP atd.[1]
Formát
Z historických důvodů je formát .htaccess
stejný jako globální konfigurační soubor webového serveru Apache, dokonce i při použití s webovými servery jako je Sun Java System Web Server a Zeus Web Server, které mají velmi odlišné nativní globální konfigurační soubory.
Výchozí název souboru funguje na Unixových operačních systémech, kde „dot-files“ (označení pro soubory jejichž název začíná tečkou) jsou pravidla společně dohodnuty, ale v systémech Windows může úvodní znak „.
“ představovat problém a tak typicky globální konfigurace používají jiný název – v systému Apache se toto dělá pomocí AccessFileName směrnice.
Běžné použití
- Autorizace, autentizace
- Soubor
.htaccess
je často používán k zabezpečení jednotlivých adresářů, proto název „access“ (přístup). .htaccess často souvisí se souborem .htpasswd, který ukládá platná uživatelská jména a hesla.
- Přepisování URL adres
- Servery často používají
.htaccess
k přepisu dlouhých a obtížně zapamatovatelných adres na kratší a lépe zapamatovatelné.
- Blokování
- Používá se k povolení/zakázání blokace uživatele z určité IP adresy nebo domény.Také se používá k blokaci zahlcovacích strojů a jiným špatným botům. Často se používá k blokaci vyhledávačů.
- SSI
- Slouží k povolení server-side includes (zahrnutí na straně serveru).
- Výpis adresáře
- Kontroluje, jak bude server reagovat , pokud není zadána žádná konkrétní webová stránka.
- Chybové stránky
- Dovoluje změnit stránku, která se zobrazí pokud na straně serveru dojde k chybě, například HTTP 404 Not Found.
- Typy MIME
- Serverové instrukce, jak zacházet s různými typy souborů.
- Kontrola Cache
.htaccess
soubor umožňuje serveru kontrolovat ukládání do webového prohlížeče a proxy, pro snížení toku potřebných dat a zatížení serveru.
Výhody
- Okamžitá změna
- Vzhledem k tomu, že
.htaccess
je prováděn při každé žádosti, změny provedené v těchto souborech mají okamžitý účinek - na rozdíl od hlavního konfiguračního souboru, který vyžaduje restart serveru, než se nové nastavení projeví.
- Neprivilegovaní uživatelé
- Pro servery s více uživateli je často žádoucí, aby jednotlivým uživatelům dali možnost měnit konfiguraci serveru. Použití
.htaccess
souboru umožňuje takovéto individuální nastavení i neprivilegovaným uživatelům, protože hlavní konfigurační soubory serveru se nemusí měnit.
Nevýhody
Ovládání Apache pomocí hlavního konfiguračního souboru httpd.conf se častou používá z bezpečnostních a výkonových důvodů.
- Ztráty výkonu
- U každého HTTP požadavku mají rodiče adresářů při použití
.htaccess
další systémové přístupy ke kontrole dalších možných.htaccess
souborů v těchto nadřazených adresářích, které mohou.htaccess
soubory obsahovat. Je možné programově přenést nastavení z.htaccess
do httpd.conf.
- Zabezpečení
- Umožnit uživatelům úpravu konfigurace serveru může způsobit bezpečnostní problémy, jestliže nejsou správně nastaveny.
Reference
- http://httpd.apache.org/docs/2.2/howto/htaccess.html – Apache Tutorial: .htaccess files (anglicky)
Související články
Externí odkazy
- Použití souboru .htaccess - jakpsatweb.cz