Domeenide või alam­do­mee­nide suu­na­miseks vee­bi­saidi mõnda teise ossa või välisele aad­res­sile on olemas palju võimalusi. Suunamisi tehakse sageli .htaccessi, PHP-skripti, HTML-meta-sildite ja Ja­vaSc­ripti abil.

Milleks ka­su­ta­takse domeeni üm­ber­suu­na­misi?

Suunamisi ka­su­ta­takse selleks, et teavitada servereid, et vee­bi­saidi sisu on ühelt URL-aad­res­silt teisele üle viidud. See on vajalik juhul, kui algne vee­biaad­ress on sis­se­tu­leva lingi sihtkoht, on sal­ves­ta­tud kasutaja arvutisse või võib asuda sil­ma­paist­val kohal ot­sin­gu­moo­tori tulemuste lehtedel (SERP). Sellisel juhul teavitab suunamine brauserit või vee­bi­ro­bo­tit, et sisu on ümber pai­gu­ta­tud, pakkudes ka­su­tajale selle asemel lingi uuele aad­res­sile. Ilma suu­na­mis­teta näeksid vee­bi­saidi kü­las­ta­jad otsitava vee­bi­saidi asemel 404-vealehte.

Seda soovivad eriti vältida just kom­merts­vee­bi­pro­jek­tid. Vee­bi­poo­di­des pakutakse pidevalt muutuvat too­te­va­li­kut, mis kuvatakse mit­me­su­gus­tel vee­bi­leh­te­del. Kui toode pole enam saadaval, suu­na­takse po­tent­siaal­sed kliendid lehele, kus on esitatud sarnased tooted. See võimaldab kü­las­ta­ja­te­vooge tõhusalt suunata ja vähendada lehe hülgamise määra.

Kui sea­dis­tate domeeni üm­ber­suu­na­mise, saate sama sisu kät­te­saa­da­vaks teha ka eri­ne­va­tel vee­biaad­res­si­del. Kõik al­ter­na­tiiv­sed aadressid suu­na­takse lihtsalt soovitud vee­bi­saidi domeenile, sõltumata sellest, millise konk­reetse URL-i või tee kasutajad si­ses­ta­vad.

Milliseid domeeni üm­ber­suu­na­misi on olemas?

Üldiselt eris­ta­takse klien­di­pool­seid ja ser­ve­ri­pool­seid suunamisi. Ser­ve­ri­poolse do­mee­ni­suu­na­mise puhul edas­ta­takse vastavad HTTP-staa­tus­koo­did ka­su­ta­ja­agen­ti­dele (brau­se­ri­tele või vee­bi­ro­bo­ti­tele). Klien­di­poolse suunamise puhul on olukord veidi teist­su­gune. Need toimuvad ilma mingi vastuseta, mis tähendab, et staa­tus­koode ei väl­jas­tata. Seetõttu ei toeta kõiki ka­su­ta­ja­agen­teid viimati nimetatud suunamisi. See eba­mu­ga­vus võib mõnikord viia olu­kor­da­deni, kus kü­las­ta­jad jäävad algsele lehele ega suunata kuhugi edasi. Sellised puudused on põhjuseks, miks suu­na­miste puhul eelis­ta­takse sageli ser­ve­ri­pool­set varianti. Klien­di­pool­seid lahendusi tuleks kasutada ainult siis, kui ser­ve­ri­pool­sed domeeni suu­na­mised on teh­ni­lis­tel põhjustel vä­lis­ta­tud.

Teine domeeni üm­ber­suu­na­mise tüüp on lä­bi­pais­tev ehk nähtamatu üm­ber­suu­na­mine. Selle tüüpi üm­ber­suu­na­mise puhul URL-aadress ei muutu. Mas­kee­ri­tud domeeni üm­ber­suu­na­miste puhul ei muutu ka­su­tajale kuvatav URL, kuigi klient on suunatud teisele domeenile ja talle kuvatakse teise veebilehe sisu. Kuna selline suunamine võib aga põh­jus­tada raskusi in­deksee­ri­misel ja URL-i kuvamisel brauseris, ei ole seda soo­vi­ta­tav kasutada, välja arvatud juhul, kui kehtivad teatud piirangud.

Tip

Kas soovid sea­dis­tada domeeni üm­ber­suu­na­mise? Järgnevas IONOSi abi­kes­kuse artiklis saad samm-sammult teada, kuidas suunata oma domeen ümber teisele domeenile.

Ser­ve­ri­pool­sed suu­na­mised

Enamasti teos­ta­takse ser­ve­ri­pool­seid domeeni üm­ber­suu­na­misi kon­fi­gu­rat­sioo­ni­faili .htaccess või PHP-skripti abil. Need meetodid või­mal­da­vad in­di­vi­duaal­selt määrata, millist HTTP-staa­tus­koodi ka­su­ta­jaa­gen­dile kuvada. See võimaldab vee­bi­saidi hal­da­ja­tel märkida domeeni üm­ber­suu­na­mised kas pü­si­va­teks või aju­tis­teks. Selleks ka­su­ta­takse HTTP-staa­tus­koode 301 ja 302.

  • 301 – Püsivalt ümber suunatud: Küsitud ressurss on nüüd püsivalt kät­te­saa­dav üm­ber­suu­na­tud URL-i all. Vanast URL-ist ei saa edaspidi enam kasu. Siin on vaja 301-suunamist.
  • 302 – Ajutiselt ümber suunatud: Taotletud ressurss on kät­te­saa­dav üm­ber­suu­na­tud URL-i all. Erinevalt koodist 301 jääb algne URL endiselt kehtivaks.

Kui HTTP-staa­tus­koodi ei ole sel­ge­sõ­na­li­selt määratud, väljastab vee­bi­ser­ver ser­ve­ri­poolse üm­ber­suu­na­mise käigus staa­tus­koodi 302. See ei ole alati vajalik, seega on kõige parem sisestada iga üm­ber­suu­na­mise puhul soovitud staa­tus­kood käsitsi, kuna see aitab vähendada in­deksee­ri­mis­vi­gade, näiteks URL-i kaa­per­da­mise, tekkimise tõe­näo­sust. Erinevalt 301-suu­na­mi­sest teavitab 302-staa­tus­kood vee­bi­ro­bo­teid, et algne URL peaks jääma in­deksee­ri­tud. Kui see on mõeldud püsivaks, kon­ku­ree­rib suu­na­misad­res­see­ri­tud aadress ot­sin­gu­moo­tori indeksis suunamise siht­ko­haga.

.htaccessi suunamine

.htaccess on Apache vee­bi­ser­ve­rite kon­fi­gu­rat­sioo­ni­fail. Seda ka­su­ta­takse keskkse kon­fi­gu­rat­siooni üm­ber­kir­ju­ta­miseks ka­ta­loo­gi­ta­san­dil. See fail võimaldab vee­bi­saidi hal­da­ja­tel määrata domeenide ja nende alam­ka­ta­loo­gide jaoks ka­ta­loo­gi­põ­hi­seid seadeid. Üks .htaccess-faili funkt­sioone on üksikute aad­res­side ser­ve­ri­poolne üm­ber­suu­na­mine teistele URL-idele.

Domeeni üm­ber­suu­na­mist saab sea­dis­tada .htaccess-faili koodi abil. Kui järgmise koodiga .htaccess-fail on pai­gu­ta­tud põ­hi­ka­ta­loo­gi­desse, suu­na­takse algse domeeni päringud serveri poolel ümber domeenile www.example.com:

Redirect 301 / http://www.example.com/
apac­heconf

See koodirida algab numbriga redirect 301 ja määrab kindlaks, millise HTTP-staa­tus­koodi server peaks väl­jas­tama. Sellele järgneb suunatava sisu asukoht. Eespool toodud näites suu­na­takse kogu sisu ümber. Viimane samm toimub siis, kui täielik siht-URL suu­na­takse ümber ka­su­ta­jaa­gendi URL-ile: http://www.example.com.

See meetod võimaldab suunata üksikuid faile ümber. Järgmine kood näitab .htaccess-faili abil üm­ber­suu­na­mist ühelt vee­bi­sai­dilt teisele:

Redirect 301 /directory/example-document.html http://www.example.com/example.html
apac­heconf

Pärast HTTP-staa­tus­koodi 301 määramist mää­ra­takse kindlaks faili ka­ta­loo­gi­tee, mis tuleb püsivalt ümber suunata (/directory/example-document.html), ning üm­ber­suu­na­mis-URL (http://www.example.com/example.html).

Niimoodi näeks pü­si­suu­na­mine välja Apache-serveris, kus on ak­ti­vee­ri­tud mod_rewrite-moodul:

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

Koodireas 01 ak­ti­vee­ri­takse Apache vee­bi­ser­veri mod_rewrite-moodul käsuga RewriteEngine On. Sellele järgneb RewriteRule, mis sisaldab üm­ber­suu­na­mis­faili teekonda ja sihtkoha aadressi. Caret- ja dol­la­ri­mär­gid tä­his­ta­vad 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 üm­ber­suu­na­mist sea­dis­ta­des tuleb meeles pidada, et valed sis­se­kan­ded võivad vee­bi­saidi tööd tõsiselt häirida. Kuna need muu­da­tu­sed hakkavad kehtima kohe pärast .htaccessi faili sal­ves­ta­mist, tuleks sea­dis­tusi alati põh­ja­li­kult testida.

PHP-suu­na­mised

Domeeni üm­ber­suu­na­mist 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 üm­ber­suu­na­mist väl­ja­mõel­dud siht-URL-ile www.example.com:

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

PHP-skripti kaudu suu­na­misel mää­ra­takse soovitud HTTP-staa­tus­kood kindlaks koodi teises reas asuva funkt­siooni header abil. Selles näites tuleb teostada püsiv 301-suunamine. Kuna ser­ve­ri­pool­sed suu­na­mised toimuvad ta­va­li­selt ajutiselt, tuleb püsivate suu­na­miste teos­ta­miseks 301-staa­tus­koodi abil võtta ak­tiiv­seid meetmeid. Pü­si­suu­na­miste puhul re­gist­ree­ri­takse domeeni suunamise sihtkoht ka funkt­sioo­niga header. Selles näites suu­na­takse seejärel aad­res­sile http://www.example.com. Koodi 04. real olev funkt­sioon exit lõpetab skripti ja takistab järgmise koodirea täitmist. Et suu­na­mised PHP-skripti kaudu toimiksid, peab koo­dib­lokk asuma HTML-lehe alguses. See takistab serveril HTML-sisu suu­na­mis­le­hele edas­ta­mist.

Klien­di­pool­sed suu­na­mised

Kui ser­ve­ri­poolne domeeni üm­ber­suu­na­mine ei ole teh­ni­lis­tel põhjustel võimalik, on vee­bi­saidi hal­da­ja­tel võimalus kasutada klien­di­pool­seid lahendusi. Selleks on saadaval nii HTML-meta-silt refresh kui ka Ja­vaSc­ript. Klien­di­poolse üm­ber­suu­na­mise puuduseks on see, et serverid ei edasta HTTP-staa­tus­koode päringuid te­ge­va­tele brau­se­ri­tele ega vee­bi­ro­bo­ti­tele, mis tähendab, et neid ei teavitata üm­ber­suu­na­mi­sest otseselt. Lisaks ei toeta kõik ka­su­ta­ja­lii­de­sed klien­di­pool­seid üm­ber­suu­na­misi, mis tähendab, et on oht, et mitte kõiki vee­bi­saidi kü­las­ta­jaid ei suunata ümber.

Klien­di­pool­sed üm­ber­suu­na­mised mõjutavad ot­sin­gu­moo­to­rite in­deksee­ri­mist ne­ga­tiiv­selt. Klien­di­poolse üm­ber­suu­na­mise puhul ei toimu in­deksee­ri­mi­sest sel­ge­sõ­na­list vä­lis­ta­mist HTTP-staa­tus­koodi 301 abil. See võib viia selleni, et üm­ber­suu­na­vad domeenid kon­ku­ree­rivad siht­do­mee­ni­dega ot­sin­gu­moo­to­rite tulemuste jär­jes­tuses. Erinevalt ser­ve­ri­pool­se­test üm­ber­suu­na­mis­test, mis jäävad ka­su­ta­ja­tele suures osas mär­ka­ma­tuks, kaasnevad klien­di­pool­sete üm­ber­suu­na­mis­tega alati vii­vi­tu­sed, mida mõned kasutajad võivad lõpuks märgata.

Edas­ta­mine HTML-i meta-refresh-funkt­siooni abil

HTML-meta-suu­na­mised ra­ken­da­takse meta-sildite abil, millel on atribuut http-equiv. Selleks on vaja vaid lihtsat HTML-faili ja vastavat sildit peal­kir­jas suu­na­miste loomiseks. Et teie vee­bi­saidi kü­las­ta­jad oleksid suu­na­mi­sest teadlikud, tuleks HTML-do­ku­men­dis lisada vastav teade. Tüü­pi­li­sed näited on sellised read nagu „Palun oodake hetk. Teid suu­na­takse 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/">
html

Kliendile kuvatakse teade, et domeen tuleb suunata ümber meta-sildi abil http-equiv="refresh". Selle toimimise viisi saab määrata at­ri­buu­dis „content“. Näites suu­na­takse kasutajad kümne sekundi pärast siht­do­mee­nile www.example.com.

Ja­vaSc­ripti suu­na­mised

Ja­vaSc­ript pakub lihtsat võimalust domeeni üm­ber­suu­na­miseks kliendi poolel. Nagu refreshsildi puhulgi, tuleks Ja­vaSc­ripti üm­ber­suu­na­misi kasutada vaid ük­sik­juh­tu­del, kuna tur­va­li­suse kaa­lut­lus­tel ei toeta kõik vee­bib­rau­se­rid seda skrip­ti­keelt. Ja­vaSc­ript võib tekitada probleeme ka vee­bi­ro­bo­ti­tele ja ka­su­ta­ja­tele, kellel on ak­ti­vee­ri­tud NoScripti laiendus. Siin on näide, kuidas näeb välja Ja­vaSc­ripti abil domeeni üm­ber­suu­na­mise kood:

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

Kõige olulisem on siin kolmas koodirida. Näi­te­koo­dis ka­su­ta­takse muutujat window.location praeguse vee­biaad­ressi vii­ta­miseks. Käsk replace annab brau­se­rile kor­ral­duse suunata kasutaja sulgudes asuvale siht­do­mee­nile: www.example.com.

Go to Main Menu