Számos lehetőség áll rendelkezésre a domainek vagy aldomainok átirányítására a webhely egy másik szakaszára vagy egy külső címre. Az átirányítások gyakran .htaccess, PHP szkript, HTML meta tagek és JavaScript segítségével történnek.

Mire használják a domain átirányításokat?

Az átirányítások arra szolgálnak, hogy értesítsék a szervereket arról, hogy a webhely tartalma egyik URL-ről egy másikra került át. Erre akkor van szükség, ha az eredeti webcím egy bejövő link célja, a felhasználó számítógépén mentve van, vagy kiemelt helyet foglalhat el a keresőmotorok találati oldalain (SERP). Ebben az esetben az átirányítás jelzi a böngészőnek vagy a webes keresőrobotnak, hogy a tartalom áthelyezésre került, és a felhasználó helyett egy linket biztosít az új címhez. Átirányítások nélkül a webhely látogatói a keresett webhely helyett egy 404-es hibaoldalt találnának.

Ez valami, amit a kereskedelmi webprojektek különösen el akarnak kerülni. Az online áruházak folyamatosan változó termékválasztékot kínálnak, amelyeket különböző weboldalakon jelenítenek meg. Ha egy termék már nem elérhető, a potenciális vásárlókat egy hasonló termékeket bemutató oldalra irányítják. Ez lehetővé teszi a látogatói forgalom hatékony irányítását és a kilépési arány minimalizálását.

A domain átirányítás beállításával ugyanazt a tartalmat több különböző webcím alatt is elérhetővé teheti. Az összes alternatív cím egyszerűen átirányításra kerül a kívánt webhely domainjére, függetlenül attól, hogy a felhasználók milyen URL-t vagy elérési utat adnak meg.

Milyen típusú domain átirányítások léteznek?

Általában megkülönböztetünk kliensoldali és szerveroldali átirányításokat. Szerveroldali domain-átirányítások esetén a megfelelő HTTP-állapotkódok átkerülnek a felhasználói ügynökökhöz (böngészőkhöz vagy webcrawlerekhez). A kliensoldali átirányítások esetében a helyzet kissé eltérő. Ezek bármiféle válasz nélkül történnek, vagyis nem kerül sor állapotkódok kiadására. Ezért az utóbbiakat nem minden felhasználói ügynök támogatja. Ez a kellemetlenség néha olyan helyzetekhez vezethet, hogy a látogatók az eredeti oldalon maradnak, és nem kerülnek továbbirányításra. Az ilyen hátrányok miatt a szerveroldali opciót gyakran részesítik előnyben az átirányításoknál. A kliensoldali megoldásokat csak akkor szabad használni, ha a szerveroldali domain-átirányítások technikai okokból kizártak.

Egy másik domain átirányítási típus az átlátszó vagy láthatatlan átirányítás. Ennél a típusnál az URL nem változik. A maszkolással történő domain átirányítások esetében a felhasználónak megjelenített URL nem változik, bár a kliens egy másik domainre lett átirányítva, és egy másik weboldal tartalmát jeleníti meg. Mivel azonban ez a típusú átirányítás nehézségeket okozhat az indexeléssel és az URL böngészőben való megjelenítésével kapcsolatban, bizonyos korlátozások hiányában nem ajánlott.

Tipp

Domain átirányítást szeretne beállítani? A következő IONOS Súgó cikkben lépésről lépésre megtudhatja, hogyan irányíthatja át domainjét egy másik domainre.

Szerveroldali átirányítások

A legtöbb esetben a szerveroldali domain átirányítások a .htaccess konfigurációs fájl vagy egy PHP szkript segítségével történnek. Ezek a módszerek lehetővé teszik, hogy egyénileg meghatározzuk, melyik HTTP státusz kódot kell megjeleníteni a felhasználói ügynöknek. Ez lehetővé teszi a weboldal üzemeltetői számára, hogy a domain átirányításokat állandónak vagy ideiglenesnek jelöljék meg. Ehhez a 301 és 302 HTTP státusz kódokat használják.

  • 301 – Véglegesen áthelyezve: A kért erőforrás mostantól véglegesen elérhető az átirányított URL-címen. A régi URL-cím ettől a ponttól kezdve érvénytelen marad. Itt 301-es átirányításra van szükség.
  • 302 – Ideiglenesen áthelyezve: A kért erőforrás az átirányított URL-címen elérhető. A 301-es kóddal ellentétben az eredeti URL-cím továbbra is érvényes marad.

Ha a HTTP állapotkód nincs kifejezetten meghatározva, a webszerver 302 állapotkódot ad ki a szerver oldali átirányítás során. Ez nem mindig szükséges, ezért a legjobb, ha minden átirányításhoz manuálisan adja meg a kívánt állapotkódot, mivel ez segít csökkenteni az indexelési hibák, például az URL-eltérítés előfordulásának esélyét. A 301 átirányítással ellentétben a 302 állapotkód tájékoztatja a webes keresőrobotokat, hogy az eredeti URL-t indexelni kell. Ha ez állandó jellegű, az átirányítási cím versenyez a keresőmotor indexében az átirányítás céljával.

.htaccess átirányítás

Az .htaccess egy Apache webszerverekhez tartozó konfigurációs fájl. A könyvtárszintű központi konfigurációk felülírására szolgál. Ez a fájl lehetővé teszi a weboldal üzemeltetői számára, hogy domainnevekre és azok alkönyvtáraira vonatkozó, könyvtárspecifikus beállításokat hajtsanak végre. Az .htaccess fájl egyik funkciója az egyes címek szerveroldali átirányítása más URL-ekre.

A .htaccess fájlban található kód segítségével beállíthat egy domain átirányítást. Miután a következő kóddal ellátott .htaccess fájlt elhelyezte a fő könyvtárakban, az eredeti domainre érkező kérések szerveroldalon átirányításra kerülnek a www.example.com domainre:

Redirect 301 / http://www.example.com/
apacheconf

Ez a kódsor redirect 301 kezdődik, és meghatározza, hogy a szerver milyen HTTP-állapotkódot adjon ki. Ezt követi az átirányítandó tartalom elérési útja. A fenti példában az összes tartalom átirányításra kerül. Az utolsó lépés akkor történik meg, amikor a teljes cél URL átirányításra kerül a felhasználói ügynök URL-jére: http://www.example.com.

Ez a módszer lehetővé teszi az egyes fájlok átirányítását. Az alábbi kód egy .htaccess fájlból egy másik webhelyre történő átirányítást mutat be:

Redirect 301 /directory/example-document.html http://www.example.com/example.html
apacheconf

Miután a HTTP 301 állapotkóddal foglalkoztunk, megnevezzük a fájl könyvtárának elérési útját, amelyet véglegesen át kell irányítani (/directory/example-document.html), valamint az átirányítási URL-t (http://www.example.com/example.html).

Így nézne ki az állandó átirányítás egy Apache szerveren, amelyen aktív a mod_rewrite modul:

RewriteEngine On
RewriteRule ^directory/example-document.html$ http://www.example.com/example.html [L,R=301]
apacheconf

A 01. kódsorban az Apache webszerver mod_rewrite modulja a RewriteEngine On paranccsal aktiválódik. Ezt követi a RewriteRule paranccsal az átirányítási fájl elérési útja és a célcím. A caret és a dollár jelek jelzik az elérési út kezdetét és végét, L pedig a megfelelő kérés utolsó mod rewrite szabályát jelöli. R=301 továbbítja a 301-es HTTP státuszt.

A .htaccess fájlon keresztül történő domain átirányítás konfigurálásakor fontos szem előtt tartani, hogy a helytelen bejegyzések súlyos következményekkel járhatnak a webhely működésére nézve. Mivel ezek a változások közvetlenül a .htaccess fájl mentése után lépnek életbe, a konfigurációkat mindig alaposan tesztelni kell.

PHP átirányítások

A domain átirányítás nem csak .htaccess konfigurációval, hanem PHP szkriptben (pl. az index.php fájlban) található paranccsal is elvégezhető. Az alábbi kód egy állandó átirányítást mutat be egy fiktív cél URL-re, www.example.com:

<?php
header("Status: 301 Moved Permanently");
header("Location: http://www.example.com");
exit;
?>
php

PHP szkript segítségével történő továbbítás esetén a kívánt HTTP állapotkód a kód második sorában található header függvény segítségével kerül meghatározásra. Ebben a példában egy állandó 301-es átirányításra kerül sor. Mivel a szerveroldali átirányítások általában ideiglenes jellegűek, aktív lépéseket kell tenni az állandó átirányítások végrehajtásához a 301-es állapotkód segítségével. Állandó átirányítások esetén a domain átirányítás célcímét is regisztrálják header kóddal. Az átirányítás ebben a példában a http://www.example.com címre történik. A kód 04. sorában található exit funkció befejezi a szkriptet, és megakadályozza a következő kódsor végrehajtását. Ahhoz, hogy az átirányítások PHP szkript segítségével működjenek, a kódblokknak a HTML-oldal elején kell lennie. Ez megakadályozza, hogy a szerver HTML-tartalmat továbbítson az átirányítási oldalra.

Ügyféloldali átirányítások

Ha technikai okok miatt nem lehetséges a szerveroldali domain átirányítás végrehajtása, a webhely üzemeltetői kliensoldali megoldásokat is alkalmazhatnak. Ehhez a HTML meta tag refresh és a JavaScript is rendelkezésre áll. A kliensoldali átirányítások hátránya, hogy a szerverek nem továbbítanak HTTP státusz kódokat a kérő böngészőknek vagy webcrawlereknek, vagyis azok nem kapnak kifejezett tájékoztatást az átirányításról. Ráadásul a kliensoldali átirányításokat nem minden felhasználói ügynök támogatja, ami azt jelenti, hogy fennáll a kockázata annak, hogy nem minden webhely-látogató átirányításra kerül.

A kliensoldali átirányítások negatív hatással vannak a keresőmotorok indexelésére. A HTTP 301 állapotkóddal történő kifejezett kizárás az indexelésből nem történik meg a kliensoldali átirányítások esetében. Ez oda vezethet, hogy az átirányító domainok versenyeznek a céldomainokkal a keresőmotorok rangsorában. A szerveroldali átirányításokkal ellentétben, amelyek a felhasználók számára nagyrészt láthatatlanok maradnak, a kliensoldali átirányítások mindig késleltetésekkel járnak, amit egyes felhasználók észrevehetnek.

Továbbítás HTML meta refresh segítségével

A HTML meta átirányítások a http-equiv attribútummal rendelkező meta címkékkel valósulnak meg. Ehhez csak egy egyszerű HTML fájlra és egy megfelelő címkére van szükség a fejlécben az átirányítások létrehozásához. Annak érdekében, hogy a webhely látogatói tájékoztatást kapjanak az átirányításról, a HTML dokumentumban megfelelő értesítést kell elhelyezni. Tipikus példák erre a „Kérjük, várjon egy pillanatot. Átirányítás történik…” típusú sorok . Egy egyszerű domain átirányítás HTML meta refresh segítségével így néz ki:

<meta http-equiv="refresh" content="10; url=http://www.example.com/">
html

Az ügyfélnek felkínálják, hogy a meta tag http-equiv="refresh" segítségével irányítsa át a domaint. Hogy ez hogyan történik, a content attribútumban lehet meghatározni. A példában a felhasználókat tíz másodperc után a cél domainre, www.example.com irányítják át.

JavaScript átirányítások

A JavaScript egyszerű lehetőséget kínál a kliens oldali domain átirányításokra. Azonban, ahogyan a meta tag refresh esetében is, a JavaScript átirányításokat csak eseti alapon szabad használni, mivel ezt a szkriptalapú nyelvet biztonsági okokból nem minden webböngésző támogatja. A JavaScript problémákat okozhat a webcrawlereknek és az aktív NoScript kiegészítőkkel rendelkező felhasználóknak is. Így néz ki a JavaScript segítségével történő domain átirányítás kódja:

<script> 
window.location.replace('http://www.example.com'); 
</script>
html

A legfontosabb itt a harmadik sor kód. A példakódban a window.location objektumot használják az aktuális webhely címének hivatkozására. A replace parancs utasítja a böngészőt, hogy irányítsa a felhasználót a zárójelben található cél domainre: www.example.com.

Ugrás a főmenübe