Mozilla Skin
WIKI nejen pro klienty webhostingu banan.cz, diskuze zde

Soubor .htaccess

Z BananWiki

Textový soubor .htaccess je výjimečný soubor, který slouží k tomu, aby si správce webové prezentace mohl přizpůsobit některá nastavení serveru k obrazu svému, a to aniž by nutně musel být správcem serveru (s Apache), na kterém hostuje. Jednoduše se nabízí možnost vložit text a využít tak některé vlastnosti. Řešit se pomocí tohoto souboru dá např. přesměrování, cashování, ochrana heslem, chybové stránky nebo banování IP.

Pozor: Soubor .htaccess platí vždy jen pro svůj adresář a jeho podadresáře (.htacces v podadresáři má prioritu), nikoliv pro cizí! Naštěstí těchto souborů může být na serveru více (v jednom adresáři však maximálně jeden).

Obsah

Rewrite

O Mod Rewrite se více můžete dočíst v tomto článku, který se mu věnuje.

Stránka 404

Pokud chcete mít vlastní chybovou stránku (to je ta, která se Vám ukáže, pokud třeba stránka neexistuje atd.), protože se Vám klasická Error 404 nelíbí, můžete to udělat následovně.

Do souboru .htaccess je nutné vložit tento záznam: ErrorDocument 404 /xxx.html (kde xxx zastupuje libovolný název stránky, která se zobrazí). Pak už stačí jen stránku xxx.html vytvořit a uploadnout na server a po zadání špatné adresy, či jiné chyby, se zobrazí právě tato stránka místo defaultní.

Tip: Můžete využít i stránku z jiného adresáře, pak by záznam třeba mohl vypadat takto: ErrorDocument 404 /etc/xxx.html

Stránka 403

Chyba 403 nám říká, že je přístup odepřen/zakázáno. Pokud chcete, aby se v tomto případě objevila Vaše stránka k tomu určená, stačí do souboru .htaccess vložit následující záznam: ErrorDocument 403 /xxx.html (kde xxx značí název stránky, která se zobrazí). Nyní se v případě odepření přístupu zobrazí tato stránka.

Tip: Můžete využít i stránku z jiného adresáře, pak by záznam třeba mohl vypadat takto: ErrorDocument 403 /etc/xxx.html

Zamezení přístupu k souboru

Jestliže potřebujeme zamezit přístup ke konkrétnímu souboru, je třeba do .htaccess vložit toto:

<Files xxx.php> Deny from All </Files>

V takovém případě jsme zamezili přístup k souboru xxx.php a to všem. Pokud nechcete zamezit přístup všem, ale pouze konkrétní IP adrese, pak místo Deny from All napíšete deny from 10.0.0.1 (samozřejmě zadáte požadovanou IP adresu, tato je ilustrační). Také můžete místo konkrétní IP adresy zadat všechny IP adresy začínající 10.0. - pak není problém napsat: deny from 10.0.

Naopak se dají i jednotlivé IP adresy povolit a to tak, že místo slova "deny" zadáte "allow" - zbytek funguje stejně.

.htpasswd

Díky .htpasswd můžete docílit vytvoření autentizačního okna. Co to znamená? Zaheslujete si stránku.

Pozor: Pro použití souboru .httpasswd je nutné mít vytvořen soubor .htaccess!

Do souboru .htaccess je nutno zadat následující:

  AuthUserFile xxx/.htpasswd
  AuthName "yyy"
  AuthType Basic
  require valid-user

xxx zastupuje cestu k souboru .htpasswd, yyy je pojmenování složky chráněné oblasti, Basic značí způsob autorizace a poslední řádek nám zajišťuje vstup jen po zadání správného loginu a hesla

Pak už jen do souboru .htpasswd napíšete loginy a příslušná hesla. Bude to vypadat asi takto:

   1:a
   2:b
   3:c

Asi Vás už napadlo, že čísla značí login a písmena heslo. Co ale možná nevíte, že hesla musí být šifrovaná. Ovšem toto je také dost jednoduché, jelikož stačí použít generátor hesel pro .htpasswd (třeba tento -> [[1]]).