Možnosti přesměrování
Přesměrovat webovou stránku na jinou byste měli hlavně v případech jejího přesunu.
Tento článek je o tom, jak přesměrovat stránku pomocí meta tagu v hlavičce stránky, PHP kódem a záznamem v souboru .htaccess. Každý způsob má své využití.
Přesměrování meta tagem
První způsob využijete třeba v případě, že je potřeba přesměrovat jedinou stránku napsanou v HTML. Stará přitom zůstane zachována a můžete na ní vložit informaci o přesunutí obsahu s odkazem na nové umístění.
Zápis vypadá takto (vložte mezi tagy <head> a </head>):
Zápis s absolutní adresou:
<meta http-equiv="refresh"
content="8;url=http://www.example.cz/soubor.html">
Adresa může být i relativní:
<meta http-equiv="refresh" content="8;url=soubor.html">
Číslo za content=„1; je počet sekund, za jak dlouho k přesměrování dojde. Návštěvník se tak může dívat určitou dobu na stránku starou.
Přesměrování v PHP
Hodí se, když chcete třeba přesměrovat celý redakční systém, nebo prostě stránky (nebo jen jednu) napsané v PHP. Soubor stránky musí mít příponu .php.
Funkce se jmenuje Header() s parametrem Location. Funkce musí být na serveru povolena.
Zápis v trvale přesměrovávané stránce vypadá takto:
<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.example.cz");
header("Connection: close");
?>
301 znamená, že jde o trvalé přesměrování.
Možnosti přesměrování v souboru .htaccess
Tento text předpokládá, že můžete konfigurační soubor Apache s názvem „.htaccess“ na svém webhostingu používat. Pokud ano, můžete vyzkoušet následující možnosti:
Přesměrování adresy webu bez „www“ na adresu s „www“
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.cz [nc]
RewriteRule (.*) http://www.example.cz/$1 [R=301,L]
Funguje i obráceně, tedy z adresy s „www“ na adresu bez „www“
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.example.cz [nc]
RewriteRule (.*) http://example.cz/$1 [R=301,L]
Přesměrování staré stránky na novou
RewriteEngine on
RewriteRule puvodni\.php /nova.html [R=301]
nebo
RewriteEngine On
RewriteRule puvodni.html /nova.html [R=301]
Návštěvník bude přesměrován a uvidí novou adresu v adresním řádku svého prohlížeče. 301 znamená trvalé přesměrování.
Podstrkávání
Návštěvník uvidí v adresním řádku pořád původní adresu, přitom se bude nacházet jinde. Jediný rozdíl oproti zápisu přesměrování je ten, že neobsahuje [R=301].
RewriteEngine on
RewriteRule puvodni\.html /podstrcena.html
Poznámka na závěr: Přesměrování celého webu je vždy bolestivé pro čtenáře, pro vyhledávače i pro vás. Pokud nemáte vážný důvod, tak adresy svých stránek neměňte.
Autor: Luboš Kudláček
Provozovatel Netzinu, autor knihy o WordPressu, publicista, blogger. Více na LubosKudlacek.cz