htaccess (1 díl) - co to je, základní použití

Napsal Mgr.Radovan Kaluža (») 31. 3. 2005 v kategorii Banan.cz, přečteno: 9511×

Vytvoření .htaccess, nastavení 404, zakázaní listování.

Co to je .htaccess ?
Jak uložit .htaccess ?
Ukázka nejčastějšího použití.

Co to je .htaccess ?

Soubor .htaccess, který ne vždy je povolen (banan.cz jej povolen má), může značně ovlivnit nastavení serveru. Úplně nejčastějším případem je nastavení chybové stránky 404, zamezení výpisu složky, nebo blokování určitých IP adres, autentizace ...

Jak uložit .htaccess ?

Soubor .htaccess je textový dokument, lze jej tedy vytvořit libovolným textovým editorem (NotePad, vim, mcedit ...). Pokud budete mít problém tento soubor uložit nazvěte jej jako htaccess.txt a poté jej přejmenujte přímo na serveru (třeba pomocí total comandera) na .htaccess. Rovněž dejte pozor na nastavení ftp klienta, aby zobrazoval soubory začínající tečkou.

Ukázka nejčastějího použití

V příštích článcích podrobně rozeberu možnosti .htaccess, avšak většina uživatelů by mohla vystačit s níže uvedeným.

Ukázkový soubor .htaccess: ErrorDocument 403 "http://www.banan.cz/"
ErrorDocument 404 "http://help.banan.cz/htaccess/stranka_404.html"
Options -Indexes

ErrorDocument 403 "http://www.banan.cz/": v případě nepovoleného přístupu (například špatně nastaveny práva), se zobrazí stránka www.banan.cz

ErrorDocument 404 "http://help.banan.cz/htaccess/stranka_404.html": v případě že soubor neexistuje, přejdeme na stránku http://help.banan.cz/htaccess/stranka_404.html

Options -Indexes : zákaz procházení adresáře

Ukázka povoleného procházení adresáře

Štítky: htaccess
Facebook Twitter Topčlánky.cz Linkuj.cz

Komentáře

Zobrazit: standardní | od aktivních | poslední příspěvky | všechno
Šamot z IP 90.183.248.*** | 5.5.2009 17:57
přihodím link na web, kde je problematika .htaccess dále řešena - www.iceboy.cz
Tomáš z IP 85.160.180.*** | 9.3.2006 14:49
Prosím o radu ! Dělám něco blbě, nebo je to nějaké omezení systému ? Potřeboval bych nastavit v .htaccess "odchytávání" stránky 404 do LOKÁLNÍHO php souboru - jenomže když v souboru .htaccess nastavím  přesměrování stránky 404 na lokální soubor, nefunguje to. Když totiž zadám :

ErrorDocument 404 "http:\\www.hicos.cz\404.php" tak Vše funguje jak má

Ale !

ErrorDocument 404 "\404.php"  nefunguje. Potřebuji to kvůli tomu, aby se korektně předávala php proměnná $REQUEST_URI - při prvním způsobu zápisu bohužel vrací vlastní adresu.
egg z IP 86.49.106.*** | 9.3.2006 15:19
Uvozovky tam nemaji co delat. Krome toho mas spatny lomitko. Tohle funguje:

ErrorDocument 404 /404.php
Tomáš z IP 193.179.187.*** | 9.3.2006 17:39
Bohužel, nefunguje ani tak...

(lomítka jsem obrátil při psaní příspěvku, v .htaccess je mám pochopitelně dobře. Uvozovky by snad vadit neměly, ne ?)
egg z IP 86.49.106.*** | 9.3.2006 19:38
Tak změň hosting. Mně to funguje.smajl
Tomáš z IP 85.160.174.*** | 9.3.2006 21:10
Skvělá rada - díky smajl !

Hostuju na banánu a prostě to nejede. S absolutní adresou (http:atd...) to jede, s relativní ne. Protože explorer vyhodí vlastní stránku a ne "banánovou" 404ku , prostě nedokáže ten odkaz najít. Připadá mi, jakoby tam bylo nutné nastavit nějakou cestu - že nehledá V MÉM kořenovém adresáři, ale někde v kořenu Apache, nebo Banána. Takže by to třeba chtělo nějakej napsat ještě nějakej path před ten můj soubor 404.php co je v mém rootu. Ale to jen hádám a nevím jak. Vím jen jedno - nejede to.
nemůžeš používat absolutní cesty, ale relativní


Tomáš z IP 62.40.76.*** | 10.3.2006 06:26
Aha... Ale já si myslím (a všechny manuály taky), že podle konvencí Apache je absolutní adresa buď "htt://ww...." a nebo něco, co má lomítko před cestou (takže se bere úvodní cesta z rootu). Relativní adresa je potom něco bez úvodního lomítka. Jenomže - i když odeberu první lomítko a napíšu teda :

ErrorDocument 404 404.php    -   tak to nejde a nejde.

Což o to, já to udělám nějak jinak (snad) - jde mi jen o to PROČ to nejde, když by to logicky jít mělo, a nebo CO dělám špatně. Popřípadě, jestli je to nějaké restrikční opatření, atd.
MrGespant z IP 213.192.32.*** | 10.3.2006 12:03
A nedelas to nahodou na subdomene? Ono totiz subdomeny na Bananu fungujou velice podivne...
MrGespant z IP 213.192.32.*** | 10.3.2006 12:04
A nedelas to nahodou na subdomene? Ono totiz subdomeny na Bananu fungujou velice podivne...
kulf z IP 81.2.215.*** | 14.7.2006 13:31
Pokud chcete relativni cestu (jako ja), tak funguje tohle:
ErrorDocument 404 http:404.html
DavesMan z IP 83.208.140.*** | 14.7.2006 16:21
Já používám tady na Banánu (B01) normálně:
ErrorDocument 404 /index.php?page=404
a funguje to. Jak vidno je to navíc dynamický a ještě to provozuji na testovací subdoméně. Doufám, že po přesunu na ostrou (www) to fungovat nepřestane.
smajl
Muf z IP 62.24.79.*** | 30.1.2007 17:00
Juchů, měl jsem stejnej problém a vyřešilo to použití http:404.htm
Radek z IP 62.141.2.*** | 12.3.2007 16:29
tak mám asi stejný problém, jen nechci zobrazovat stránku 404 ale chci jednoduše předávat parametry souboru index.php
adresa: www.stranka.cz/kontakty.html => www.stranka.cz/index.php?page=kontakty ... to ale nefunguje.

.htaccess
RewriteEngine on
RewriteRule ^([^/]+)\.html?$  index.php?path_1=$1 [L,QSA]

všude mi funguje, jen na banánu to trochu pokulhává - nevíte někdo co s tím?
smoce z IP 217.197.158.*** | 29.4.2008 13:36
Pro Radek: Raděj to použi toto

RewriteEngine on
RewriteRule     ^(.*).html    index.php?page=$1

ja to používám tak..
smoce z IP 217.197.158.*** | 29.4.2008 13:38
a k těm chybam používám

RewriteEngine on
ErrorDocument 400 /errors/badrequest.html

a nedělaj se tam uvozovky!
pokud to nefunguje tak to nepodporuje hosting.
banan.czDalibor Baník | 29.4.2008 13:48
[15] podpora mod_rewrite je instalována na všech serverech.
smoce z IP 217.197.158.*** | 29.4.2008 15:54
Ale ne každý server má povoleny aby si mohly uživatele upravovat své error stránky.
Čuga z IP 213.155.225.*** | 23.10.2006 10:48
je nejake zpozdeni mezi zmenou .htaccess a jejim promitnutim na funkcnost stranek??? protoze sem si s tim trosku hral a nejdriv znepristupnil vsechny adresare (Options -Indexes), pak sem si ale uvedomil, ze par jich potrebuju pristupnych, tak sem to Options odkomentoval... ale zadna zmena... i kdyz do ciloveho adresare dam dalsi .htaccess, kde nastavim Options +Indexes, tak se nic vypisovat nechce...

diky za radu
banan.czDalibor Baník | 26.10.2006 10:23
Změna .htaccess se projeví ihned.
Riva z IP 213.210.176.*** | 25.4.2005 10:27

Kam je potreba v a dresarove strukture webu (konkretne na banan hostingu) soubor nahrat ? V banan.cz FAQu je napsano "do kořenového adresáře webu" ale ktery adresar kdyz se divam pres ftp to je ? (ftp root? \subdomains ? \www ?)

Zkousel jsem nakopirovat soubor vsude mozne a nefungovalo to.
banan.czMichal | 25.4.2005 13:35
subdomains\www
nothrem z IP 194.212.64.*** | 15.9.2005 09:25
když se dá přímo do /subdomains/ tak pak funguje pro všechny subdomény. Lze tak např. zakázat přístup k doménám, které mají složku, ale ne index.
banan.czMgr.Radovan Kaluža | 15.9.2005 09:37
soubor htaccess lze nahrát do /subdomains/ a bude fungovat pro všechny subdomény i www
nothrem z IP 194.212.64.*** | 15.9.2005 10:19
Měl bych ještě dotat: jakou adresu musím zadat aby se soubor našel na banánu?
Tohle nefunguje:
ErrorDocument 404 "/subdomains/www/404.php"
děkuji
PS z IP 193.165.217.*** | 8.4.2005 10:51
Nevite nekdo jak nastavit pomoci .htaccess na bananu, aby mi to subdomeny neprepisovalo do adresare /subdomains/subdomena/  ale do adresare /subdomains/www/

zkousel jsem:

RewriteEngine on
RewriteRule ^(.*) /home/www/htdocs/moje_domena/subdomains/www%{REQUEST_URI} [L]

ale nefungovalo  


Nový komentář

Téma:
Jméno:
Notif. e-mail *:
Komentář:
  [b] [obr]
Odpovězte prosím číslicemi: Součet čísel dvě a jedenáct