Jak přesměrovat URL adresu přes .htaccess (nastavení 301 přesměrování)
Přesměrování 301 aneb trvalé přesměrování, říká vyhledávači že daná adresa byla natrvalo přesunuta jinam. Využívá se zejména při řešení duplicity, přesunu webu nebo přesměrování neexistujících stránek na nové.
V apache2 nám k tomu slouží modul mod_rewrite. Pro nastavení apache2 nám slouží soubor .htaccess.
V souboru .htaccess zapneme modul mod_rewrite pomocí:
RewriteEngine On
Následně už můžeme přesměrovávat pomocí následujících možností:
# Přesměruje všechny url které v názvu mají old-url
Redirect 301 old-url new-url
# Přesměruje url které mají v názvu /old-url/
RedirectMatch 301 ^/old-url/(.*)$ /new-url/$1
# Pokud je splněná podmínka, přesměruje na výsledek
RewriteCond %podmínka% &
RewriteRule %vysledek%
Ukázky
# Jednotlivé stránky
Redirect 301 /stara-adresa.html http://mojedomena.cz/nova-adresa
# Jednotlivé složky
RedirectMatch 301 ^/stara-slozka/(.*)$ http://www.mojedomena.cz/nova-slozka/$1
# Z www.mojedomena.cz na mojedomena2.cz
RewriteCond %{HTTP_HOST} ^www\.mojedomena\.cz [NC]
RewriteRule ^(.*)$ http://mojedomena2.cz/$1 [L,R=301]
Jak nastavit přesměrování z HTTP na HTTPS najdete v návodu Jak přesměrovat HTTP na HTTPS.