Příklady použití .htaccess
Blokování přístupu podle IP adres
deny from 180.180.180.180 # vložením čísla IP adresy zablokujete této adrese přístup na web.
deny from 180.123 # zablokujete přístup ze všech adres, které začínají 180.123.
deny from all # zablokujete přístup ze všech IP adres.
allow from 130.130.130.130 # povolíte této IP adrese vstup na web, používá se v kombinaci s předchozím pravidlem
Chybové stránky
ErrorDocument 403 "http://example.cz/chyba403.php"
ErrorDocument 404 "http://example.cz/chyba404.php"
Chybové stránky (kódy 403, 404, 500 a 503), které mají být společné všem vašim doménám pro daný uživatelským účet, lze nastavit také prostřednictvím uživatelského rozhraní v menu "Domény > Globální nastavení".
Alternativní výchozí stránka index.php
Pokud nechcete mít jako výchozí stránku webu soubor index.php nebo jemu podobný, uveďte v .htaccess řádku ve které nadefinujte zleva doprava pořadí, ve kterém se má soubor .htaccess pokusit nalézt výchozí soubor webu. Soubory vlevo mají tedy nejvyšší prioritu. Soubor na konci se použije jen tehdy, když nenalezne žádný předešlý soubor. Pokud nenalezne ani jeden, zobrazí se parkovací stránka hostingu.
DirectoryIndex soubor1.php soubor2.html
Ochrana proti SPAM botům
RewriteCond %{HTTP_USER_AGENT} Wget [OR]
RewriteCond %{HTTP_USER_AGENT} CherryPickerSE [OR]
RewriteCond %{HTTP_USER_AGENT} CherryPickerElite [OR]
RewriteCond %{HTTP_USER_AGENT} EmailCollector [OR]
RewriteCond %{HTTP_USER_AGENT} EmailSiphon [OR]
RewriteCond %{HTTP_USER_AGENT} EmailWolf [OR]
RewriteCond %{HTTP_USER_AGENT} ExtractorPro
RewriteRule ^.*$ http://www.spampoison.com/ [L]
Tento kód odhalí většinu SPAM botů, který je dále přesměruje na adresu spampoison.com.
Přesměrování - Permanent redirect 301
RedirectMatch permanent (.*) http://example.com$1
Řetězec "http://example.com" určuje cíl přesměrování.
Přesměrování - Temporary redirect 302
Redirect 302 / http://example.com
Řetězec "http://example.com" určuje cíl dočasného přesměrování.
Zapnutí Rewrite módu
RewriteEngine On
Tato řádka se zadává do .htaccess pouze jednou!
Příklad použití módu rewrite
Chcete např. přepsat url ve tvaru zápisu /index.php?stranka=news na zapamatovatelnější /news.html
RewriteEngine on
Options +FollowSymlinks
RewriteCond %{REQUEST_URI} ^(.*).html
RewriteRule ^(.*).html index.php?stranka=$1 [nc,L,QSA]
Povolení výpisu adresáře
Options +Indexes
Uživatel uvidí výpis adresářů/souborů umístěných na FTP.
Zakázání výpisu adresáře
Options -Indexes
Uživatel při snaze dostat se do některého adresáře bude přesměrován na chybovou stránku 403.
Přesměrování webu bez www na verzi s www
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.cz [nc]
RewriteRule (.*) http://www.example.cz/$1 [R=301,L]
Přesměrování webu s www na verzi bez www
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.cz [nc]
RewriteRule (.*) http://www.example.cz/$1 [R=301,L]
Kontrola protokolu https
RewriteEngine on
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Zde se ověřuje, zda při načtení url už není protokol s https a pokud není, dojde k přesměrování na url s https. Doporučujeme využít v kombinaci s SSL certikátem Let's encrypt.
HSTS - Http Strict Transport Security
Pomocí http hlavičky prohlížeči řeknete, že už nesmí zobrazovat obsah načtený přes nezabezpečené http, ale vždy pouze přes zabezpečené https. Toto řešení použijte vždy jen se zapnutým SSL certifikátem a kombinací kontroly protokolu https viz výše.
<IfModule mod_headers.c>
Header set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
</IfModule>