.htaccess

Ukázkový soubor .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.

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.

Běžné použití

[editovat | editovat zdroj]
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.
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.

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.
  1. http://httpd.apache.org/docs/2.2/howto/htaccess.html – Apache Tutorial: .htaccess files (anglicky)

Související články

[editovat | editovat zdroj]

Externí odkazy

[editovat | editovat zdroj]