Htaccess (.htaccess – včetně tečky) je soubor, který řídí nastavení webového serveru Apache (nastavení webu). Samozřejmě záleží na možnosti webhostingu – jaká je podpora serveru. V .htaccess lze nastavovat například blokování IP adres (ban), vlastní chybové hlášky, přesměrování, zaheslování stránky, komprese přenášení souborů, atd. Htaccess je textový soubor, který lze vytvořit velice jednoduše v Poznámkovém bloku. Při ukádání zvolte „Všechny soubory“, ne TXT. Soubor .htaccess je bez přípony!
Příklady použití .htaccess:
# Doplňující text (nápověda) za znakem „#“. Tento text je serverem ignorován, takže si tam můžete psát vlastní poznámky.
Chybové stránky
# Nastavení chybových stránek ErrorDocument 400 https://czblog.cz/400.html ErrorDocument 401 https://czblog.cz/401.html ErrorDocument 403 https://czblog.cz/403.html ErrorDocument 404 https://czblog.cz/404.html ErrorDocument 500 https://czblog.cz/500.html ErrorDocument 501 https://czblog.cz/501.html ErrorDocument 502 https://czblog.cz/502.html ErrorDocument 503 https://czblog.cz/503.html ErrorDocument 504 https://czblog.cz/504.html ErrorDocument 505 https://czblog.cz/505.html
Význam chybových kódů:
Kód 300 – Hromadný výběr (Multiple Choices)
Kód 400 – Chybné zadání (Bad request)
Kód 401 – Autorizace (Authorization Required)
Kód 403 – Přístup odmítnut (Forbidden)
Kód 404 – Stránka nenalezena (Page not found)
Kód 405 – Nepovolená metoda (Method Not Allowed)
Kód 500 – Interní chyba serveru (Internal Server Error)
Kód 501 – Neimplementováno (Not implemented)
Kód 502 – Špatná brána (Bad gateway)
Kód 503 – Nedostupná služba (Service unavailable)
Kód 504 – Doba vypršela (Gateway Timeout)
Kód 505 – Nepodporuje verzi HTTP (HTTP Version Not Supported)
Toto jsou nejčastější chybové kódy, ale je jich samozřejmě mnohem víc.
Blokování přístupu konkrétní IP adresy:
# zablokování přístupu IP adresy deny from 71.111.71.11
„71.111.71.11“ je IP adresa, kterou požadujete zablokovat. IP adresu „71.111.71.11“ si změňte dle vašich požadavků.
Blokování přístupu rozsahu IP adres 71.11.xx:
# Blokovani pristupu rozsahu IP adres 71.11.x deny from 71.111
„71.111.xx“ je rozsah IP adres, které zablokujete. IP adresu „71.111“ si změňte dle vašich požadavků.
Povolení přístupu konkrétní IP adresy:
# Povolení přístupu IP adresy allow from 71.111.71.11
„71.111.71.11“ je IP adresa, které povolíte přístup. IP adresu „71.111.71.11“ si změňte dle vašich požadavků.
Blokování přístupu všech IP adres:
# Zablokovat všechny IP adresy deny from all
Zablokujete přístup všem IP adresám.
Maximální velikost uploadnutého souboru
php_value upload_max_filesize 20MB
Velikost uploadovaného souboru je samozřejmě měnná. V tomto případě to je 20 MB.
Maximální velikost odeslaných dat
php_value post_max_filesize 200000
Velikost velikosti odeslaných dat je samozřejmě měnná.
Zapnutí Mod Rewrite
# zapnutí rewrite RewriteEngine On
Přesměrování subdomény „soubor.czblog.cz“ do „czblog.cz/soubor“ (přes 301)
# Přesměrování subdomény "soubor.czblog.cz" do "czblog.cz/soubor" RewriteCond %{HTTP_HOST} ^soubor\.czblog\.cz$ RewriteRule ^(.*)$ https://czblog.cz/soubor [R,L]
Přesměrování subdomény „soubor.czblog.cz“ do „czblog.cz/soubor“
# přesměrování subdomény "soubor.czblog.cz" do "czblog.cz/soubor" RewriteCond %{HTTP_HOST} ^soubor\.czblog\.cz [NC] RewriteCond %{REQUEST_URI} !^/soubor/ RewriteRule ^(.*)$ /soubor/ [L,QSA]
Přesměrování webové stránky bez www (czblog.cz) do www (www.czblog.cz)
# Přesměrování webové stránky bez www do www RewriteEngine On RewriteCond %{HTTP_HOST} ^czblog\.cz [nc] RewriteRule (.*) https://www.czblog.cz/$1 [R=301,L]
Přesměrování webové stránky s www (www.czblog.cz) bez www (czblog.cz)
# Přesměrování webové stránky s www bez www RewriteEngine On RewriteCond %{HTTP_HOST} ^www\.czblog\.cz [nc] RewriteRule (.*) https://czblog.cz/$1 [R=301,L]
Přesměrování z jedné stránky na druhou
# Přesměrování ze stránky stara.php na stránku nova.php RewriteEngine On RewriteRule stara\.php /nova.php [R=301]
Přesměrování index stránky
DirectoryIndex index.html index.php
Z leva do prava …
Blokování přístupu zadaného souboru
<Files czblog.php> Deny from All </Files>
Zablokujete přístup „czblog.php“.
Ochrana proti SPAMbotům
RewriteEngine on RewriteCond %{HTTP_USER_AGENT} ^.*Ants.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*attach.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*autoemailspider.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*BackWeb.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*Bandit.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*Buddy.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*CherryPicker.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*CherryPickerElite.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*Copier.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*Crawler.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*Crescent\Internet.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*Collector.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*DA.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*DiaGem.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*DISCo\Pump.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*Downloader.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*Drip.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*eCatch.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*EirGrabber.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*EmailCollector.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*EmailExtractor.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*EmailSiphon.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*EmailWolf.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*ExtractorPro.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*EyeNetIE.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*FileHound.*$ RewriteCond %{HTTP_USER_AGENT} ^.*FlashGet.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*GetRight.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*Gets.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*gotit.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*Grabber.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*GrabNet.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*Grafula.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*Go-Ahead-Got-It.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*Go!Zilla.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*HMView.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*HTTrack.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*IBrowse.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*lftp.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*InterGET.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*Internet\Ninja.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*Iria.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*JetCar.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*JOC.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*JustView.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*leech.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*likse.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*Likse.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*LNSpiderguy.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*Magnet.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*Mag-Net.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*Memo.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*Mirror.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*Mister\PiX.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*MIDown\tool.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*Navroad.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*NearSite.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*Netprospector\JavaCrawler.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*NetSpider.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*NICErsPro.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*Ninja.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*Nutsack.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*Offline.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*Offline\Explorer.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*PageGrabber.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*Papa\Foto.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*pcBrowser.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*Pockey.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*Pump.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*Reaper.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*Recorder.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*ReGet.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*Siphon.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*Slurp.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*SmartDownload.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*Snagger.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*Snake.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*SpaceBison.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*Stripper.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*Sucker.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*SuperBot.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*SuperHTTP.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*Surfbot.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*tAkeOut.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*Teleport.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*Vacuum.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*WebAuto.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*WebCollector.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*WebCopier.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*WebFetch.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*WebReaper.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*WebSauger.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*Webster.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*WebStripper.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*WebWhacker.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*WebZIP.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*Web\Image\Collector.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*Web\Magnet.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*Web\Sucker.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*Wget.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*Whacker.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*Widow.*$ [OR] RewriteRule /* http://www.google.com [L,R]
Řádek RewriteRule /* http://www.google.com [L,R] znamená přesměrování na www stránku, v našem případě www.google.com (lze měnit). Na tuto stránku bude SPAMbot přesměrován.
Zakázat výpis .htaccess
Options -Indexes
Údaje v souboru .htaccess se nezobrazí.
Povolit výpis .htaccess
Options +Indexes
Údaje v souboru .htaccess se budou standartně zobrazovat.
Zaheslování stránky
Do souboru .htaccess zadejte:
#Zakázat výpis htaccess Options -Indexes
#Zaheslovaná složka AuthUserFile /home/www/czblog.cz/www/.htpasswd AuthName "Heslo" AuthType Basic require valid-user
Do souboru .htpasswd zadejte:
admin:$1$mw1.1G3.$zNGqUE.Rkoynqwno9smKi0
Heslo musí být zašifrované! Generátor hesel do .htpasswd je zde na CzBlogu.
Zobrazení obrázků pouze na webu, kde jsou uloženy
RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://(www.)?doplntenazevwebu.cz/.*$ [NC] RewriteRule .(gif|jpg|jpeg|png))$ http://www.doplntenazevwebu.cz/muj-obrazek.jpg [R,L]
Ochrana zobrazování vašich obrázků, které jsou na vašem webu. Na cizích webech se obrázky zobrazovat nebudou. Zobrazí se tam pouze váš obrázek http://www.doplntenazevwebu.cz/muj-obrazek.jpg.
Upozornění: tento článek je copyright (stejně jako všechny ostatní). Kopírování a další šíření je zakázáno!