Co je redirect .htaccess a jak ho nastavit
Pomocí redirect .htaccess lze přesměrovat návštěvníky z jedné URL svého webu na jinou přímo na úrovni serveru Nejčastěji se používá na Apache web serverech a funguje ještě dříve, než se ke slovu dostane samotný web nebo redakční systém (např. WordPress). Výhodou přesměrování přes .htaccess je jeho rychlost a spolehlivost – server návštěvníka okamžitě pošle na správnou adresu, aniž by se musel načítat původní obsah stránky.
Kdy se redirect v .htaccess používá
Redirect .htaccess je dobré použít ve chvíli, kdy:
- měníte strukturu webu
- přesouváte stránky na nové adresy
- přecházíte z HTTP na HTTPS
- rušíte staré URL a nechcete přijít o návštěvnost ani SEO
- nechcete zatěžovat web zbytečným načítáním obsahu
Cílem je vždy jedno: aby se návštěvník i vyhledávače dostali na správné místo bez chyby 404.
Jak redirect v .htaccess funguje
Soubor .htaccess umožňuje definovat pravidla, podle kterých server zpracovává požadavky na URL adresy. Pro pokročilejší přesměrování (mezi subdoménami, z HTTP na HTTPS nebo přepis permalinků) se používá modul mod_rewrite, který je na většině Apache serverů zapnutý automaticky. Základem je aktivace přepisovacího enginu: RewriteEngine On Tento řádek se zapisuje jen jednou na začátek souboru .htaccess. Pod něj pak přidáváte jednotlivá pravidla přesměrování.
Typy přesměrování v .htaccess s konkrétními příkazy
301 – trvalé přesměrování
301 redirect se používá při trvalé změně URL. Vyhledávače přenesou SEO hodnotu na novou adresu. Redirect 301 /stara-stranka https://example.com/nova-stranka Typické použití přesměrování 301:
- změna struktury webu
- sloučení stránek
- přesun webu na novou doménu
302 – dočasné přesměrování
Dočasné přesměrování je vhodné při krátkodobých úpravách, testování nebo údržbě webu. Redirect 302 /stara-stranka https://example.com/nova-stranka
Přesměrování z HTTP na HTTPS
Toto přesměrování se používá po instalaci SSL certifikátu. RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteCond %{HTTPS} !=On [NC] RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Přesměrování z HTTPS zpět na HTTP
Méně časté, ale někdy nutné při testování nebo specifické konfiguraci. RewriteCond %{HTTP:X-Forwarded-Proto} https RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Přesměrování subdomény do podadresáře
Používá se k přesměrování požadavků na subdoménu do specifického podadresáře na hlavní doméně (např. shop.domena.cz → www.domena.cz/shop) RewriteCond %{HTTP_HOST} ^shop.domena.cz$ [NC] RewriteRule ^(.*)$ https://www.domena.cz/shop/$1 [L,R=301]
Přepis permalinků na SEO-friendly formát
Tento příklad přepíše URL example.com/produkty/123 na produkty.php?id=123. RewriteRule ^produkty/([0-9]+)$ produkty.php?id=$1 [L,QSA]
Co je dobré vědět, než začnete redirecty nastavovat
- Soubor .htaccess funguje pouze na serverech s Apachem
- Každá chyba v zápisu může způsobit nedostupnost webu
- Špatně nastavené přesměrování může negativně ovlivnit SEO
- U složitějších webů je snadné vytvořit přesměrovací smyčku
Pokud si nejste jistí, je lepší použít jednodušší řešení nebo se obrátit na podporu hostingu.
Kdy raději redirect v .htaccess nepoužívat
Přesměrování přes .htaccess není vždy nejlepší volba:
- pokud web běží na serveru s Nginx (tam .htaccess nefunguje)
- pokud používáte WordPress a přesměrování lze řešit pluginem
- pokud má váš hosting vlastní administraci pro přesměrování URL
- pokud potřebujete přesměrování spravovat bez zásahu do serveru
V těchto případech je bezpečnější a přehlednější použít nástroje přímo v administraci hostingu nebo redakčního systému.
Na co si dát při redirectech pozor
- nepoužívejte zbytečně 302 místo 301
- po úpravě vždy otestujte funkčnost
- zálohujte .htaccess před každou změnou
Špatně nastavený redirect může způsobit nedostupnost webu nebo zhoršení SEO.
Shrnutí
Redirect v .htaccess je jednoduchý a efektivní způsob, jak řídit přesměrování URL adres přímo na serveru. Nejčastěji se používá při změnách struktury webu, přechodu na HTTPS nebo rušení starých stránek. Pokud si nejste jistí nastavením, vyplatí se využít nástroje hostingu nebo pomoc technické podpory – chybný redirect totiž může napáchat víc škody než užitku.