Néha úgy adódik, hogy új helyre kell költöztetni régi honlapunkat. Ilyenkor szeretnénk, ha a régi weboldalunkra érkező látogatók rátaláljanak az új címre, sőt, a régi aloldalakra érkezve (pl. keresőkből) az új honlap megfelelő aloldalára érkezzenek a látogatók.
Frissítés: Az új Google Webmestereszközök lehetőséget biztosít arra is, hogy saját magad jelezd a Google felé az áthelyezés tényét. Ha betartod az áthelyezés irányelveit, valamint beállítottad a 301-es átirányítást, akkor a Webmestereszközök “Webhely-konfiguráció” -> “Webhely címének módosítása” felületén tudod az áthelyezést tudatni a keresővel.
Technikailag az átirányításra két fő eset lehetséges:
Az egyik, amikor a teljes weboldal tartalmát szeretnénk átirányítani az újra, nem törődve az aloldalakkal. Három lehetőséget mutatunk be itt, természetesen van több is, de ezek a leggyakoribb megoldások. Az alábbiak feltételezik, hogy minden más tartalmat, aloldalt eltüntettél a webhelyedről, csak egy index.php/.html található a domainen.
- HTML-es megoldás (tedd az alábbi kódot a régi weboldalad index fájljának elejére):
<meta http-equiv=refresh content=”0; url=http://az-uj-weboldal-cime.hu”> - PHP-s megoldás (ugyancsak a régi weboldal index.php elejére):
<?php
Header( “HTTP/1.1 301 Moved Permanently” );
Header( “Location: http://az-uj-weboldal-cime.hu” );
?> - .htaccess megoldás (tedd a gyökérben lévő .htaccess fájlba, Apache esetén):
Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://az-uj-weboldal-cime.hu/$1 [R=301,L]
A másik eset, amikor szeretnénk, hogy a régi aloldalak az újnak megfelelő aloldalakra linkeljenek. Természetesen ezt csak akkor lehet megoldani, ha a régi és az új címben is felfedezhető valamiféle hasonlatosság, olyan, amelyre lehet egy sablont húzni:
- Ha minden egyes régi aloldal fejlécébe az első módszer első két megoldása közül valamelyiket választjuk, és pl. így módosítjuk az ott bemutatott URL-t: http://az-uj-weboldal-cime.hu/magunkrol.html, akkor az egy hosszadalmas (az oldalak számától függő), de tuti biztos megoldás lehet.
- A PHP-s megoldás:
<?php
Header( “HTTP/1.1 301 Moved Permanently” );
Header( “Location: http://az-uj-weboldal-cime.hu“.$_SERVER[‘REQUEST_URI’].””);
?>
Ezt a kódot a régi weboldal fejlécébe kell betenni. Az fog történni, hogy ha beírják pl. a http://a-regi-weboldal-cime.hu/magamrol.html címet, akkor az át fog ugrani a http://az-uj-weboldal-cime.hu/magamrol.html címre, de ha az adott aloldal a kapcsolat.html, akkor szintén az új weboldal kapcsolat.html oldalára fog vinni. - .htaccess megoldás (tedd a gyökérben lévő .htaccess fájlba, Apache esetén):
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^a-regi-weboldal-cime\.hu
RewriteRule ^(.*)$ http://az-uj-weboldal-cime.hu/$1 [R=permanent,L]
Ha pl. a régi weboldalunkon http://a-regi-weboldal-cime.hu/kapcsolat.php volt a cím, akkor azt automatikusan a http://az-uj-weboldal-cime.hu/kapcsolat.php oldalra irányítja.
Egy külön eset, amikor nem szeretnénk a teljes oldalt áthelyezni, de a www-s változatról szeretnénk a www nélküli címre irányítani a felhasználót:
- PHP-s megoldás:
<?php
if($_SERVER[‘SERVER_NAME’]==”www.weboldal-cime.hu”){
header(‘HTTP/1.1 301 Moved Permanently’);
header(‘Location: http://weboldal-cime.hu‘ . $_SERVER[‘REQUEST_URI’]);
}
?>
Érdemes azonban vigyázni a sok átirányítással, nehogy félrevezetőek legyenek. Továbbá minél hamarabb gondoskodjuk a régi weboldal tartalmainak eltüntetéséről. A fent bemutatott megoldások természetesen korántsem teljesek, de az esetek nagy részére megoldást nyújtanak. Ha vannak még jó ötletek, szívesen bővítem azokkal a posztot.