Yra daugybė būdų, kaip nukreipti domenus ar sub­do­me­nus į kitą jūsų svetainės skyrių arba į išorinį adresą. Nu­krei­pi­mai daž­niau­siai atliekami naudojant .htaccess failą, PHP skriptą, HTML me­ta­gai­res ir Ja­vaSc­ript.

Kam naudojami domenų nu­krei­pi­mai?

Pe­rad­re­sa­vi­mai naudojami tam, kad ser­ve­riams būtų pranešta, jog svetainės turinys buvo perkeltas iš vieno URL į kitą. Tai būtina padaryti, kai pirminis interneto adresas yra at­vyks­tan­čios nuorodos tikslas, yra iš­sau­go­tas vartotojo kom­piu­te­ry­je arba gali užimti matomą vietą paieškos sistemų rezultatų pus­la­piuo­se (SERP). Tokiu atveju nu­krei­pi­mas praneša naršyklei arba ži­nia­tink­lio paieškos robotui, kad turinys buvo perkeltas, ir vietoj to var­to­to­jui pateikia nuorodą į naują adresą. Be nu­krei­pi­mų svetainės lan­ky­to­jai vietoj ieškomos svetainės matytų 404 klaidos puslapį.

Tai yra tai, ko ypač nori išvengti ko­mer­ci­niai in­ter­ne­ti­niai projektai. In­ter­ne­ti­nės par­duo­tu­vės siūlo nuolat kintantį prekių asor­ti­men­tą, kuris pa­tei­kia­mas įvairiose interneto pus­la­piuo­se. Kai prekės nebėra sandėlyje, po­ten­cia­lūs klientai nu­krei­pia­mi į puslapį, kuriame pa­tei­kia­mos panašios prekės. Tai leidžia efek­ty­viai nukreipti lankytojų srautus ir sumažinti išėjimo iš puslapio rodiklį.

Nu­sta­ty­da­mi domeno nu­krei­pi­mą, galite už­tik­rin­ti, kad tas pats turinys būtų pa­sie­kia­mas skir­tin­gais interneto adresais. Visi al­ter­na­ty­vūs adresai tiesiog nu­krei­pia­mi į norimą svetainės domeną, ne­pri­klau­so­mai nuo konk­re­taus URL adreso ar kelio, kurį įveda var­to­to­jai.

Kokios yra domenų nu­krei­pi­mo rūšys?

Paprastai skiriami kliento pusės ir serverio pusės nu­krei­pi­mai. Vykdant serverio pusės domeno nu­krei­pi­mus, ati­tin­ka­mi HTTP būsenos kodai per­duo­da­mi vartotojo agentams (nar­šyk­lėms ar ži­nia­tink­lio paieškos robotams). Kalbant apie kliento pusės nu­krei­pi­mus, situacija šiek tiek skiriasi. Jie vykdomi be jokio atsakymo, tai reiškia, kad būsenos kodai ne­siun­čia­mi. Būtent dėl to pastarųjų nepalaiko visi vartotojo agentai. Dėl šio ne­pa­to­gu­mo kartais susidaro si­tu­aci­jos, kai lan­ky­to­jai lieka pra­di­nia­me puslapyje ir niekur nėra nu­krei­pia­mi. Dėl tokių trūkumų dažnai pirmenybė teikiama serverio pusės nu­krei­pi­mams. Kliento pusės spren­di­mai turėtų būti naudojami tik tada, kai serverio pusės domeno nu­krei­pi­mai yra neįmanomi dėl techninių prie­žas­čių.

Kitas domeno nu­krei­pi­mo tipas – skaidrus arba nematomas nu­krei­pi­mas. Naudojant šį nu­krei­pi­mo tipą, URL adresas ne­si­kei­čia. Kalbant apie domenų nu­krei­pi­mus su maskavimu, var­to­to­jui rodomas URL adresas ne­pa­si­kei­čia, nors klientas buvo nu­kreip­tas į kitą domeną ir jam rodomas kito tink­la­la­pio turinys. Tačiau, kadangi šis nu­krei­pi­mo tipas gali sukelti sunkumų in­dek­suo­jant ir rodant URL adresą nar­šyk­lė­je, jo ne­re­ko­men­duo­ja­ma naudoti, nebent būtų taikomi tam tikri ap­ri­bo­ji­mai.

Tip

Norite nustatyti domeno nu­krei­pi­mą? Šiame „IONOS“ pagalbos centro straips­ny­je rasite išsamų pa­aiš­ki­ni­mą, kaip nukreipti savo domeną į kitą domeną.

Pe­rad­re­sa­vi­mai serverio pusėje

Daugeliu atvejų domeno nu­krei­pi­mai serverio pusėje atliekami naudojant kon­fi­gū­ra­ci­jos failą .htaccess arba PHP skriptą. Šie metodai leidžia in­di­vi­dua­liai nustatyti, koks HTTP būsenos kodas turi būti rodomas vartotojo agentui. Tai suteikia svetainių ope­ra­to­riams galimybę pažymėti domeno nu­krei­pi­mus kaip nuo­la­ti­nius arba laikinus. Tam naudojami HTTP būsenos kodai 301 ir 302.

  • 301 – Perkelta visam laikui: prašomas išteklius dabar visam laikui pa­sie­kia­mas per nu­krei­pi­mo URL. Senasis URL nuo šiol ne­be­ga­lio­ja. Šiuo atveju rei­ka­lin­gas 301 nu­krei­pi­mas.
  • 302 – Laikinai perkeltas: Prašomas išteklius yra pri­ei­na­mas per nukreiptą URL. Skir­tin­gai nei 301 kodo atveju, pradinis URL vis dar galioja.

Jei HTTP būsenos kodas nėra aiškiai nu­sta­ty­tas, ži­nia­tink­lio serveris serverio pusėje atliekant nu­krei­pi­mą pateikia 302 būsenos kodą. Tai ne visada būtina, todėl geriausia kiek­vie­nam nu­krei­pi­mui rankiniu būdu įvesti norimą būsenos kodą, nes tai padeda sumažinti in­dek­sa­vi­mo klaidų, pa­vyz­džiui, URL perėmimo, tikimybę. Skir­tin­gai nei 301 nu­krei­pi­mas, 302 būsenos kodas in­for­muo­ja ži­nia­tink­lio paieškos robotus, kad ori­gi­na­lus URL turėtų likti in­dek­suo­tas. Jei tai yra numatyta kaip nuo­la­ti­nis nu­krei­pi­mas, nu­krei­pi­mo adresas kon­ku­ruo­ja su nu­krei­pi­mo tikslu paieškos variklio indekse.

.htaccess nu­krei­pi­mas

.htaccess yra „Apache“ ži­nia­tink­lio serverių kon­fi­gū­ra­ci­jos failas. Jis nau­do­ja­mas pag­rin­di­niams nu­sta­ty­mams perrašyti katalogų lygmeniu. Šis failas leidžia svetainių ad­mi­nist­ra­to­riams nustatyti konk­re­čius pa­ra­met­rus domenams ir jų pa­ka­ta­lo­giams. Viena iš .htaccess failo funkcijų – atskirų adresų nu­krei­pi­mas į kitus URL adresus serverio pusėje.

Domeno nu­krei­pi­mą galima nustatyti naudojant kodą .htaccess faile. Įdėjus .htaccess failą su toliau pateiktu kodu į pag­rin­di­nius katalogus, užklausos, skirtos pradiniam domenui, serverio pusėje bus nu­kreip­tos į domeną www.example.com:

Redirect 301 / http://www.example.com/
ap­a­che­conf

Ši kodo eilutė prasideda skaičiumi redirect 301 ir nustato, kokį HTTP būsenos kodą serveris turi grąžinti. Po to nurodomas turinio, kuris turi būti nu­kreip­tas, kelias. Pa­teik­ta­me pavyzdyje nu­krei­pia­mas visas turinys. Pas­ku­ti­nis žingsnis įvykdomas, kai visas pa­skir­ties URL adresas nu­krei­pia­mas į vartotojo agento URL adresą: http://www.example.com.

Šis metodas leidžia nukreipti atskirus failus. Toliau pa­teik­ta­me kode parodyta, kaip naudoti .htaccess failą nu­krei­pi­mui iš vienos svetainės į kitą:

Redirect 301 /directory/example-document.html http://www.example.com/example.html
ap­a­che­conf

Nustačius HTTP būsenos kodą 301, nurodomas failo katalogo kelias, kuris turi būti nuolat nu­kreip­tas (/directory/example-document.html), ir nu­krei­pi­mo URL (http://www.example.com/example.html).

Štai kaip nuo­la­ti­nis nu­krei­pi­mas atrodytų „Apache“ serveryje, kuriame veikia mod_rewrite modulis:

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

1 eilutėje komanda RewriteEngine On įjungia „Apache“ ži­nia­tink­lio serverio modulį „mod_rewrite“. Toliau eina eilutė RewriteRule, kurioje nurodytas nu­krei­pi­mo failo kelias ir pa­skir­ties adresas. Simboliai „^“ ir „$“ žymi kelio pradžią ir pabaigą, o L žymi paskutinę „mod_rewrite“ taisyklę ati­tin­ka­mam už­klau­si­mui. R=301 perduoda HTTP būseną 301.

Kon­fi­gū­ruo­jant domeno nu­krei­pi­mą per .htaccess failą, svarbu ne­pa­mirš­ti, kad ne­tei­sin­gi įrašai gali turėti rimtų pasekmių svetainės veikimui. Kadangi šie pa­kei­ti­mai įsi­ga­lio­ja iškart po to, kai išsaugote .htaccess failą, kon­fi­gū­ra­ci­jas visada reikėtų kruopš­čiai išbandyti.

PHP nu­krei­pi­mai

Domeno nu­krei­pi­mas gali būti at­lie­ka­mas ne tik kon­fi­gū­ruo­jant .htaccess failą, bet ir naudojant komandą PHP skripte (pvz., index.php). Toliau pateiktas kodas rodo nuolatinį nu­krei­pi­mą į išgalvotą pa­skir­ties URL adresą www.example.com:

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

Per­krei­piant per PHP skriptą, norimas HTTP būsenos kodas nu­sta­to­mas naudojant header funkciją antroje kodo eilutėje. Šiame pavyzdyje turi būti atliktas nuo­la­ti­nis 301 per­krei­pi­mas. Kadangi serverio pusėje per­krei­pi­mai paprastai vykdomi laikinai, norint atlikti nuolatinį per­krei­pi­mą naudojant 301 būsenos kodą, reikia imtis aktyvių veiksmų. Atliekant nuo­la­ti­nius nu­krei­pi­mus, domeno nu­krei­pi­mo pa­skir­ties adresas taip pat re­gist­ruo­ja­mas naudojant header. Šiame pavyzdyje nu­krei­pi­mas nukreipia į adresą http://www.example.com. Funkcija exit kodo 04 eilutėje užbaigia skriptą ir neleidžia vykdyti kitos kodo eilutės. Kad nu­krei­pi­mai veiktų per PHP skriptą, kodo blokas turi būti HTML puslapio pradžioje. Tai neleidžia serveriui perkelti HTML turinio į nu­krei­pi­mo puslapį.

Pe­rad­re­sa­vi­mai kliento pusėje

Jei dėl techninių prie­žas­čių neįmanoma atlikti domeno nu­krei­pi­mo serverio pusėje, svetainių ope­ra­to­riai gali pa­si­nau­do­ti kliento pusės spren­di­mais. Tam galima naudoti HTML meta žymą refresh bei Ja­vaSc­ript. Kliento pusės nu­krei­pi­mų trūkumas yra tas, kad serveriai ne­pa­tei­kia HTTP būsenos kodų užklausą siun­čian­tiems nar­šyk­lėms ar ži­nia­tink­lio paieškos robotams, o tai reiškia, kad jie nėra aiškiai in­for­muo­ja­mi apie nu­krei­pi­mą. Be to, kliento pusės nu­krei­pi­mus palaiko ne visi vartotojo agentai, todėl kyla rizika, kad ne visi svetainės lan­ky­to­jai bus nukreipti.

Kliento pusėje atliekami nu­krei­pi­mai daro neigiamą poveikį paieškos sistemų in­dek­sa­vi­mui. Naudojant kliento pusėje at­lie­ka­mus nu­krei­pi­mus, in­dek­sa­vi­mas nėra aiškiai už­drau­džia­mas naudojant HTTP būsenos kodą 301. Dėl to paieškos sistemų rei­tin­guo­se nu­krei­pi­mo domenai gali kon­ku­ruo­ti su tiks­li­niais domenais. Skir­tin­gai nuo serverio pusėje atliekamų nu­krei­pi­mų, kurie var­to­to­jams iš esmės lieka ne­pa­ste­bi­mi, kliento pusėje atliekami nu­krei­pi­mai visada susiję su vė­la­vi­mais, kuriuos kai kurie var­to­to­jai gali pastebėti.

Per­kė­li­mas naudojant HTML meta refresh

HTML meta nu­krei­pi­mai įgy­ven­di­na­mi naudojant meta žymes su atributu http-equiv. Tam reikia tik paprasto HTML failo ir ati­tin­ka­mos žymės ant­raš­tė­je, skirtos nu­krei­pi­mams sukurti. Kad jūsų svetainės lan­ky­to­jai būtų in­for­muo­ti apie nu­krei­pi­mą, HTML dokumente turėtų būti įterptas ati­tin­ka­mas pra­ne­ši­mas. Tipiniai pa­vyz­džiai – tokios eilutės kaip „Prašome palaukti akimirką. Jūs būsite nukreipti…“. Paprastas domeno nu­krei­pi­mas naudojant HTML meta refresh atrodo taip:

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

Klientui siūloma nukreipti domeną naudojant meta žymą http-equiv="refresh". Kaip tai vyksta, galima nustatyti „content“ atribute. Pa­teik­ta­me pavyzdyje var­to­to­jai po dešimties sekundžių nu­krei­pia­mi į pa­skir­ties domeną www.example.com.

Ja­vaSc­ript nu­krei­pi­mai

Ja­vaSc­ript suteikia paprastą galimybę nukreipti domeną kliento pusėje. Tačiau, kaip ir meta žymės refresh atveju, Ja­vaSc­ript nu­krei­pi­mus reikėtų taikyti tik atskirais atvejais, nes dėl saugumo prie­žas­čių ne visos naršyklės palaiko šią skriptų kalbą. Be to, Ja­vaSc­ript gali sukelti problemų ži­nia­tink­lio paieškos robotams ir var­to­to­jams, tu­rin­tiems įjungtus „NoScript“ pa­pil­di­nius. Štai kaip atrodo kodas, skirtas domeno nu­krei­pi­mui naudojant Ja­vaSc­ript:

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

Svar­biau­sia čia yra trečioji kodo eilutė. Pa­vyz­di­nia­me kode objektas window.location nau­do­ja­mas norint nurodyti dabartinį svetainės adresą. Komanda replace nurodo naršyklei nukreipti vartotoją į pa­skir­ties domeną, nurodytą skliaus­tuo­se: www.example.com“.

Go to Main Menu