Příklady použití .htaccess

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 http://czblog.cz/400.html
ErrorDocument 401 http://czblog.cz/401.html
ErrorDocument 403 http://czblog.cz/403.html
ErrorDocument 404 http://czblog.cz/404.html
ErrorDocument 500 http://czblog.cz/500.html
ErrorDocument 501 http://czblog.cz/501.html
ErrorDocument 502 http://czblog.cz/502.html
ErrorDocument 503 http://czblog.cz/503.html
ErrorDocument 504 http://czblog.cz/504.html
ErrorDocument 505 http://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 ^(.*)$ http://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 (.*) http://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 (.*) http://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!

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *