Kuidas toimivad domeeni ümbersuunamised?
Domeenide või alamdomeenide suunamiseks veebisaidi mõnda teise ossa või välisele aadressile on olemas palju võimalusi. Suunamisi tehakse sageli .htaccessi, PHP-skripti, HTML-meta-sildite ja JavaScripti abil.
Milleks kasutatakse domeeni ümbersuunamisi?
Suunamisi kasutatakse selleks, et teavitada servereid, et veebisaidi sisu on ühelt URL-aadressilt teisele üle viidud. See on vajalik juhul, kui algne veebiaadress on sissetuleva lingi sihtkoht, on salvestatud kasutaja arvutisse või võib asuda silmapaistval kohal otsingumootori tulemuste lehtedel (SERP). Sellisel juhul teavitab suunamine brauserit või veebirobotit, et sisu on ümber paigutatud, pakkudes kasutajale selle asemel lingi uuele aadressile. Ilma suunamisteta näeksid veebisaidi külastajad otsitava veebisaidi asemel 404-vealehte.
Seda soovivad eriti vältida just kommertsveebiprojektid. Veebipoodides pakutakse pidevalt muutuvat tootevalikut, mis kuvatakse mitmesugustel veebilehtedel. Kui toode pole enam saadaval, suunatakse potentsiaalsed kliendid lehele, kus on esitatud sarnased tooted. See võimaldab külastajatevooge tõhusalt suunata ja vähendada lehe hülgamise määra.
Kui seadistate domeeni ümbersuunamise, saate sama sisu kättesaadavaks teha ka erinevatel veebiaadressidel. Kõik alternatiivsed aadressid suunatakse lihtsalt soovitud veebisaidi domeenile, sõltumata sellest, millise konkreetse URL-i või tee kasutajad sisestavad.
Milliseid domeeni ümbersuunamisi on olemas?
Üldiselt eristatakse kliendipoolseid ja serveripoolseid suunamisi. Serveripoolse domeenisuunamise puhul edastatakse vastavad HTTP-staatuskoodid kasutajaagentidele (brauseritele või veebirobotitele). Kliendipoolse suunamise puhul on olukord veidi teistsugune. Need toimuvad ilma mingi vastuseta, mis tähendab, et staatuskoode ei väljastata. Seetõttu ei toeta kõiki kasutajaagenteid viimati nimetatud suunamisi. See ebamugavus võib mõnikord viia olukordadeni, kus külastajad jäävad algsele lehele ega suunata kuhugi edasi. Sellised puudused on põhjuseks, miks suunamiste puhul eelistatakse sageli serveripoolset varianti. Kliendipoolseid lahendusi tuleks kasutada ainult siis, kui serveripoolsed domeeni suunamised on tehnilistel põhjustel välistatud.
Teine domeeni ümbersuunamise tüüp on läbipaistev ehk nähtamatu ümbersuunamine. Selle tüüpi ümbersuunamise puhul URL-aadress ei muutu. Maskeeritud domeeni ümbersuunamiste puhul ei muutu kasutajale kuvatav URL, kuigi klient on suunatud teisele domeenile ja talle kuvatakse teise veebilehe sisu. Kuna selline suunamine võib aga põhjustada raskusi indekseerimisel ja URL-i kuvamisel brauseris, ei ole seda soovitatav kasutada, välja arvatud juhul, kui kehtivad teatud piirangud.
Kas soovid seadistada domeeni ümbersuunamise? Järgnevas IONOSi abikeskuse artiklis saad samm-sammult teada, kuidas suunata oma domeen ümber teisele domeenile.
Serveripoolsed suunamised
Enamasti teostatakse serveripoolseid domeeni ümbersuunamisi konfiguratsioonifaili .htaccess või PHP-skripti abil. Need meetodid võimaldavad individuaalselt määrata, millist HTTP-staatuskoodi kasutajaagendile kuvada. See võimaldab veebisaidi haldajatel märkida domeeni ümbersuunamised kas püsivateks või ajutisteks. Selleks kasutatakse HTTP-staatuskoode 301 ja 302.
- 301 – Püsivalt ümber suunatud: Küsitud ressurss on nüüd püsivalt kättesaadav ümbersuunatud URL-i all. Vanast URL-ist ei saa edaspidi enam kasu. Siin on vaja 301-suunamist.
- 302 – Ajutiselt ümber suunatud: Taotletud ressurss on kättesaadav ümbersuunatud URL-i all. Erinevalt koodist 301 jääb algne URL endiselt kehtivaks.
Kui HTTP-staatuskoodi ei ole selgesõnaliselt määratud, väljastab veebiserver serveripoolse ümbersuunamise käigus staatuskoodi 302. See ei ole alati vajalik, seega on kõige parem sisestada iga ümbersuunamise puhul soovitud staatuskood käsitsi, kuna see aitab vähendada indekseerimisvigade, näiteks URL-i kaaperdamise, tekkimise tõenäosust. Erinevalt 301-suunamisest teavitab 302-staatuskood veebiroboteid, et algne URL peaks jääma indekseeritud. Kui see on mõeldud püsivaks, konkureerib suunamisadresseeritud aadress otsingumootori indeksis suunamise sihtkohaga.
.htaccessi suunamine
.htaccess on Apache veebiserverite konfiguratsioonifail. Seda kasutatakse keskkse konfiguratsiooni ümberkirjutamiseks kataloogitasandil. See fail võimaldab veebisaidi haldajatel määrata domeenide ja nende alamkataloogide jaoks kataloogipõhiseid seadeid. Üks .htaccess-faili funktsioone on üksikute aadresside serveripoolne ümbersuunamine teistele URL-idele.
Domeeni ümbersuunamist saab seadistada .htaccess-faili koodi abil. Kui järgmise koodiga .htaccess-fail on paigutatud põhikataloogidesse, suunatakse algse domeeni päringud serveri poolel ümber domeenile www.example.com:
Redirect 301 / http://www.example.com/apacheconfSee koodirida algab numbriga redirect 301 ja määrab kindlaks, millise HTTP-staatuskoodi server peaks väljastama. Sellele järgneb suunatava sisu asukoht. Eespool toodud näites suunatakse kogu sisu ümber. Viimane samm toimub siis, kui täielik siht-URL suunatakse ümber kasutajaagendi URL-ile: http://www.example.com.
See meetod võimaldab suunata üksikuid faile ümber. Järgmine kood näitab .htaccess-faili abil ümbersuunamist ühelt veebisaidilt teisele:
Redirect 301 /directory/example-document.html http://www.example.com/example.htmlapacheconfPärast HTTP-staatuskoodi 301 määramist määratakse kindlaks faili kataloogitee, mis tuleb püsivalt ümber suunata (/directory/example-document.html), ning ümbersuunamis-URL (http://www.example.com/example.html).
Niimoodi näeks püsisuunamine välja Apache-serveris, kus on aktiveeritud mod_rewrite-moodul:
RewriteEngine On
RewriteRule ^directory/example-document.html$ http://www.example.com/example.html [L,R=301]apacheconfKoodireas 01 aktiveeritakse Apache veebiserveri mod_rewrite-moodul käsuga RewriteEngine On. Sellele järgneb RewriteRule, mis sisaldab ümbersuunamisfaili teekonda ja sihtkoha aadressi. Caret- ja dollarimärgid tähistavad teekonna algust ja lõppu ning L märgib vastava päringu viimast mod_rewrite-reeglit. R=301 edastab HTTP-staatuse 301.
.htaccessi kaudu domeeni ümbersuunamist seadistades tuleb meeles pidada, et valed sissekanded võivad veebisaidi tööd tõsiselt häirida. Kuna need muudatused hakkavad kehtima kohe pärast .htaccessi faili salvestamist, tuleks seadistusi alati põhjalikult testida.
PHP-suunamised
Domeeni ümbersuunamist ei saa teha mitte ainult .htaccess-faili kaudu, vaid ka PHP-skripti käsu abil (nt failis index.php). Järgmine kood näitab püsivat ümbersuunamist väljamõeldud siht-URL-ile www.example.com:
<?php
header("Status: 301 Moved Permanently");
header("Location: http://www.example.com");
exit;
?>phpPHP-skripti kaudu suunamisel määratakse soovitud HTTP-staatuskood kindlaks koodi teises reas asuva funktsiooni header abil. Selles näites tuleb teostada püsiv 301-suunamine. Kuna serveripoolsed suunamised toimuvad tavaliselt ajutiselt, tuleb püsivate suunamiste teostamiseks 301-staatuskoodi abil võtta aktiivseid meetmeid. Püsisuunamiste puhul registreeritakse domeeni suunamise sihtkoht ka funktsiooniga header. Selles näites suunatakse seejärel aadressile http://www.example.com. Koodi 04. real olev funktsioon exit lõpetab skripti ja takistab järgmise koodirea täitmist. Et suunamised PHP-skripti kaudu toimiksid, peab koodiblokk asuma HTML-lehe alguses. See takistab serveril HTML-sisu suunamislehele edastamist.
Kliendipoolsed suunamised
Kui serveripoolne domeeni ümbersuunamine ei ole tehnilistel põhjustel võimalik, on veebisaidi haldajatel võimalus kasutada kliendipoolseid lahendusi. Selleks on saadaval nii HTML-meta-silt refresh kui ka JavaScript. Kliendipoolse ümbersuunamise puuduseks on see, et serverid ei edasta HTTP-staatuskoode päringuid tegevatele brauseritele ega veebirobotitele, mis tähendab, et neid ei teavitata ümbersuunamisest otseselt. Lisaks ei toeta kõik kasutajaliidesed kliendipoolseid ümbersuunamisi, mis tähendab, et on oht, et mitte kõiki veebisaidi külastajaid ei suunata ümber.
Kliendipoolsed ümbersuunamised mõjutavad otsingumootorite indekseerimist negatiivselt. Kliendipoolse ümbersuunamise puhul ei toimu indekseerimisest selgesõnalist välistamist HTTP-staatuskoodi 301 abil. See võib viia selleni, et ümbersuunavad domeenid konkureerivad sihtdomeenidega otsingumootorite tulemuste järjestuses. Erinevalt serveripoolsetest ümbersuunamistest, mis jäävad kasutajatele suures osas märkamatuks, kaasnevad kliendipoolsete ümbersuunamistega alati viivitused, mida mõned kasutajad võivad lõpuks märgata.
Edastamine HTML-i meta-refresh-funktsiooni abil
HTML-meta-suunamised rakendatakse meta-sildite abil, millel on atribuut http-equiv. Selleks on vaja vaid lihtsat HTML-faili ja vastavat sildit pealkirjas suunamiste loomiseks. Et teie veebisaidi külastajad oleksid suunamisest teadlikud, tuleks HTML-dokumendis lisada vastav teade. Tüüpilised näited on sellised read nagu „Palun oodake hetk. Teid suunatakse edasi…“. Lihtne domeeni suunamine HTML-meta-refresh’i abil näeb välja järgmine:
<meta http-equiv="refresh" content="10; url=http://www.example.com/">htmlKliendile kuvatakse teade, et domeen tuleb suunata ümber meta-sildi abil http-equiv="refresh". Selle toimimise viisi saab määrata atribuudis „content“. Näites suunatakse kasutajad kümne sekundi pärast sihtdomeenile www.example.com.
JavaScripti suunamised
JavaScript pakub lihtsat võimalust domeeni ümbersuunamiseks kliendi poolel. Nagu refreshsildi puhulgi, tuleks JavaScripti ümbersuunamisi kasutada vaid üksikjuhtudel, kuna turvalisuse kaalutlustel ei toeta kõik veebibrauserid seda skriptikeelt. JavaScript võib tekitada probleeme ka veebirobotitele ja kasutajatele, kellel on aktiveeritud NoScripti laiendus. Siin on näide, kuidas näeb välja JavaScripti abil domeeni ümbersuunamise kood:
<script>
window.location.replace('http://www.example.com');
</script>htmlKõige olulisem on siin kolmas koodirida. Näitekoodis kasutatakse muutujat window.location praeguse veebiaadressi viitamiseks. Käsk replace annab brauserile korralduse suunata kasutaja sulgudes asuvale sihtdomeenile: www.example.com.