Kako delujejo preusmeritve domene?
Na voljo je veliko možnosti za preusmerjanje domen ali poddomen na drug del vaše spletne strani ali na zunanji naslov. Preusmeritve se pogosto izvajajo prek datoteke .htaccess, PHP-skripta, HTML-metaoznak in JavaScript.
Za kaj se uporabljajo preusmeritve domen?
Preusmeritve se uporabljajo za obveščanje strežnikov, da je bila vsebina spletnega mesta premaknjena z enega URL-ja na drugega. To je potrebno, kadar je prvotni spletni naslov cilj prihajajoče povezave, je shranjen na uporabnikovem računalniku ali pa zaseda vidno mesto na straneh z rezultati iskalnikov (SERP). V tem primeru preusmeritev sporoči brskalniku ali spletnemu pajku, da je bila vsebina premaknjena, in uporabniku namesto tega ponudi povezavo do novega naslova. Brez preusmeritev bi obiskovalci spletnega mesta namesto spletnega mesta, ki ga iščejo, naleteli na stran z napako 404.
To je nekaj, čemur se želijo izogniti predvsem komercialni spletni projekti. Spletne trgovine ponujajo nenehno spreminjajočo se ponudbo izdelkov, ki so prikazani na različnih spletnih straneh. Ko izdelek ni več na voljo, se potencialni kupci preusmerijo na stran s podobnimi izdelki. To vam omogoča učinkovito usmerjanje tokov obiskovalcev in zmanjšanje stopnje odboja.
Ko nastavite preusmeritev domene, lahko isto vsebino omogočite tudi na različnih spletnih naslovih. Vsi alternativni naslovi se preprosto preusmerijo na želeno spletno domeno, ne glede na to, kateri URL ali pot uporabniki vpišejo.
Katere vrste preusmeritev domen obstajajo?
Na splošno razlikujemo med preusmeritvami na strani odjemalca in na strani strežnika. Pri preusmeritvah domene na strani strežnika se ustrezne kode HTTP-stanja posredujejo uporabniškim agentom (brskalnikom ali spletnim pajkom). Pri preusmeritvah na strani odjemalca je situacija nekoliko drugačna. Te se izvedejo brez kakršnega koli odziva, kar pomeni, da se kode stanja ne pošiljajo. Zato slednje ne podpirajo vsi uporabniški agenti. Ta nevšečnost lahko včasih privede do situacij, ko obiskovalci ostanejo na prvotni strani in niso preusmerjeni nikamor. Takšne pomanjkljivosti so razlog, da se za preusmeritve pogosto raje uporablja možnost na strani strežnika. Rešitve na strani odjemalca se smejo uporabljati le, če so preusmeritve domene na strani strežnika izključene zaradi tehničnih razlogov.
Druga vrsta preusmeritve domene je transparentna ali nevidna preusmeritev. Pri tej vrsti preusmeritve se URL ne spremeni. Pri preusmeritvah domene z maskiranjem se URL, ki se prikaže uporabniku, ne spremeni, čeprav je bil uporabnik preusmerjen na drugo domeno in se mu prikazuje vsebina druge spletne strani. Ker pa ta vrsta preusmeritve lahko povzroči težave pri indeksiranju in prikazovanju URL-ja v brskalniku, se ne priporoča, razen če veljajo določene omejitve.
Želite nastaviti preusmeritev domene? V naslednjem članku centra za pomoč IONOS boste našli podrobna navodila, kako preusmeriti svojo domeno na drugo domeno.
Preusmeritve na strežniški strani
V večini primerov se preusmeritve domen na strežniški strani izvajajo prek konfiguracijske datoteke .htaccess ali PHP-skripta. Te metode omogočajo, da se za vsak primer posebej določi, katera HTTP-statusna koda naj se prikaže uporabniškemu agentu. To upraviteljem spletnih strani omogoča, da preusmeritve domen označijo kot trajne ali začasne. Za to se uporabljata HTTP-statusni kodi 301 in 302.
- 301 – Trajno premaknjeno: Zahtevani vir je zdaj trajno dostopen na preusmerjenem URL-ju. Stari URL bo od zdaj naprej neveljaven. V tem primeru je potrebna preusmeritev 301.
- 302 – Začasno premaknjeno: Zahtevani vir je na voljo pod preusmerjenim URL-jem. Za razliko od kode 301 ostane prvotni URL še vedno veljaven.
Če statusna koda HTTP ni izrecno določena, spletni strežnik med preusmeritvijo na strežniški strani izda statusno kodo 302. To ni vedno potrebno, zato je najbolje, da za vsako preusmeritev ročno vnesete želeno statusno kodo, saj to pomaga zmanjšati verjetnost pojava napak pri indeksiranju, kot je na primer »URL hijacking«. Za razliko od preusmeritve 301 statusna koda 302 obvešča spletne pajke, da mora prvotni URL ostati indeksiran. Če naj bi bila preusmeritev trajna, naslov preusmeritve tekmuje z destinacijo preusmeritve v indeksu iskalnika.
Preusmeritev v datoteki .htaccess
.htaccess je konfiguracijska datoteka za spletne strežnike Apache. Uporablja se za prepisovanje splošnih nastavitev na ravni imenikov. Ta datoteka omogoča upraviteljem spletnih strani, da za domene in njihove podimenike določijo nastavitve, specifične za posamezne imenike. Ena od funkcij datoteke .htaccess je preusmerjanje posameznih naslovov na druge URL-je na strežniški strani.
Preusmeritev domene lahko nastavite s pomočjo kode v datoteki .htaccess. Ko datoteko .htaccess z naslednjo kodo shranite v glavni imenik, se zahtevki za prvotno domeno na strežniški strani preusmerijo na domeno www.example.com:
Redirect 301 / http://www.example.com/apacheconfTa vrstica kode se začne s redirect 301 in določa, katero HTTP-statusno kodo naj strežnik vrne. Sledi ji pot do vsebine, ki naj bi bila preusmerjena. V zgornjem primeru se preusmeri vsa vsebina. Zadnji korak je opravljen, ko se celoten ciljni URL preusmeri na URL uporabniškega agenta: http://www.example.com.
Ta metoda omogoča preusmerjanje posameznih datotek. Spodnja koda prikazuje preusmeritev v datoteki .htaccess z ene spletne strani na drugo:
Redirect 301 /directory/example-document.html http://www.example.com/example.htmlapacheconfKo je poskrbljeno za HTTP-statusno kodo 301, se navedejo pot do mape datoteke, ki naj bi bila trajno preusmerjena (/directory/example-document.html), ter URL-naslov za preusmeritev (http://www.example.com/example.html).
Tako bi izgledalo trajno preusmerjanje na strežniku Apache z aktivnim modulom mod_rewrite:
RewriteEngine On
RewriteRule ^directory/example-document.html$ http://www.example.com/example.html [L,R=301]apacheconfV vrstici kode 01 se z ukazom RewriteEngine On aktivira modul mod_rewrite spletnega strežnika Apache. Sledi številka RewriteRule s potjo do datoteke za preusmeritev in ciljnim naslovom. Simboli kljukica in dolar označujeta začetek in konec poti, L pa označuje zadnje pravilo mod_rewrite za zadevno zahtevo. R=301 posreduje HTTP-stanje 301.
Pri nastavitvi preusmeritve domene prek datoteke .htaccess je pomembno upoštevati, da imajo napačni vnosi resne posledice za delovanje spletne strani. Ker te spremembe začnejo veljati takoj po shranitvi datoteke .htaccess, je treba nastavitve vedno temeljito preizkusiti.
Preusmeritve v PHP
Preusmeritev domene ni mogoče izvesti le s konfiguracijo datoteke .htaccess, ampak tudi z ukazom v skriptu PHP (npr. v datoteki index.php). Spodnja koda prikazuje trajno preusmeritev na izmišljeni ciljni URL, www.example.com:
<?php
header("Status: 301 Moved Permanently");
header("Location: http://www.example.com");
exit;
?>phpPri preusmerjanju prek skripta PHP se želeni HTTP-statusni kod določi s funkcijo header v drugi vrstici kode. V tem primeru je treba izvesti trajno preusmeritev 301. Glede na to, da se preusmeritve na strežniški strani običajno izvajajo začasno, je treba aktivno poskrbeti za izvedbo trajnih preusmeritev prek statusnega koda 301. Pri trajnih preusmeritvah je ciljni naslov preusmeritve domene registriran tudi s header. Preusmeritev v tem primeru nato vodi na naslov http://www.example.com. Funkcija exit v vrstici 04 kode zaključi skript in prepreči izvedbo naslednje vrstice kode. Da bi preusmeritve delovale prek PHP skripta, mora biti blok kode na začetku HTML strani. To prepreči, da bi strežnik prenesel HTML vsebino na stran preusmeritve.
Preusmeritve na strani brskalnika
Če zaradi tehničnih razlogov preusmeritev domene na strežniški strani ni mogoča, imajo upravljavci spletnih strani možnost uporabe rešitev na strani odjemalca. Za to sta na voljo HTML-metaoznaka refresh in JavaScript. Slabost preusmeritev na strani odjemalca je, da strežniki brskalnikom ali spletnim pajkom, ki pošiljajo zahteve, ne posredujejo HTTP-statusnih kod, kar pomeni, da ti niso izrecno obveščeni o preusmeritvi. Poleg tega preusmeritve na strani odjemalca ne podpirajo vsi uporabniški agenti, kar pomeni, da obstaja tveganje, da ne bodo preusmerjeni vsi obiskovalci spletne strani.
Preusmeritve na strani brskalnika negativno vplivajo na indeksiranje v iskalnikih. Pri preusmeritvah na strani brskalnika ne pride do izrecnega izključitve iz indeksiranja prek statusne kode HTTP 301. To lahko privede do tega, da domene, s katerih poteka preusmeritev, tekmujejo z namembnimi domenami pri uvrščanju v iskalnikih. Za razliko od preusmeritev na strani strežnika, ki so za uporabnike večinoma nevidne, so preusmeritve na strani brskalnika vedno povezane z zamudami, kar nekateri uporabniki lahko opazijo.
Prenos prek HTML-meta-refresh
Preusmeritve HTML meta se izvajajo prek meta oznak z atributom http-equiv. Za to je potrebna le preprosta datoteka HTML in ustrezna oznaka v glavi za ustvarjanje preusmeritev. Da bi bili obiskovalci vaše spletne strani obveščeni o preusmeritvi, je treba v HTML-dokumentu vstaviti ustrezno obvestilo. Tipični primeri vključujejo vrstice, kot je »Prosimo, počakajte trenutek. Preusmerjeni boste na…«. Preprosta preusmeritev domene prek HTML meta refresh izgleda takole:
<meta http-equiv="refresh" content="10; url=http://www.example.com/">htmlStranka je pozvana, naj domeno preusmeri prek meta oznake http-equiv="refresh". Način preusmeritve se lahko določi v atributu content. V tem primeru se uporabniki po desetih sekundah preusmerijo na ciljno domeno www.example.com.
Preusmeritve v JavaScriptu
JavaScript omogoča preprosto preusmerjanje domen na strani odjemalca. Vendar pa je, podobno kot pri meta oznaki refresh, treba preusmeritve z JavaScriptom uporabljati le v posameznih primerih, saj ta skriptni jezik zaradi varnostnih pomislekov ne podpira vsak spletni brskalnik. JavaScript lahko povzroča težave tudi spletnim pajkom in uporabnikom z aktiviranimi dodatki NoScript. Tako izgleda koda za preusmeritev domene prek JavaScript:
<script>
window.location.replace('http://www.example.com');
</script>htmlNajpomembnejša je tukaj tretja vrstica kode. V primeru kode se objekt window.location uporablja za sklicevanje na trenutni naslov spletne strani. Ukaz replace brskalniku naroča, naj uporabnika preusmeri na ciljno domeno, ki je navedena v oklepajih: www.example.com.