.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.
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]
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.
.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..htaccess
k přepisu dlouhých a obtížně zapamatovatelných adres na kratší a lépe zapamatovatelné..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..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í..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.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ů.
.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.