Kaip veikia domenų nukreipimai?
Yra daugybė būdų, kaip nukreipti domenus ar subdomenus į kitą jūsų svetainės skyrių arba į išorinį adresą. Nukreipimai dažniausiai atliekami naudojant .htaccess failą, PHP skriptą, HTML metagaires ir JavaScript.
Kam naudojami domenų nukreipimai?
Peradresavimai naudojami tam, kad serveriams būtų pranešta, jog svetainės turinys buvo perkeltas iš vieno URL į kitą. Tai būtina padaryti, kai pirminis interneto adresas yra atvykstančios nuorodos tikslas, yra išsaugotas vartotojo kompiuteryje arba gali užimti matomą vietą paieškos sistemų rezultatų puslapiuose (SERP). Tokiu atveju nukreipimas praneša naršyklei arba žiniatinklio paieškos robotui, kad turinys buvo perkeltas, ir vietoj to vartotojui pateikia nuorodą į naują adresą. Be nukreipimų svetainės lankytojai vietoj ieškomos svetainės matytų 404 klaidos puslapį.
Tai yra tai, ko ypač nori išvengti komerciniai internetiniai projektai. Internetinės parduotuvės siūlo nuolat kintantį prekių asortimentą, kuris pateikiamas įvairiose interneto puslapiuose. Kai prekės nebėra sandėlyje, potencialūs klientai nukreipiami į puslapį, kuriame pateikiamos panašios prekės. Tai leidžia efektyviai nukreipti lankytojų srautus ir sumažinti išėjimo iš puslapio rodiklį.
Nustatydami domeno nukreipimą, galite užtikrinti, kad tas pats turinys būtų pasiekiamas skirtingais interneto adresais. Visi alternatyvūs adresai tiesiog nukreipiami į norimą svetainės domeną, nepriklausomai nuo konkretaus URL adreso ar kelio, kurį įveda vartotojai.
Kokios yra domenų nukreipimo rūšys?
Paprastai skiriami kliento pusės ir serverio pusės nukreipimai. Vykdant serverio pusės domeno nukreipimus, atitinkami HTTP būsenos kodai perduodami vartotojo agentams (naršyklėms ar žiniatinklio paieškos robotams). Kalbant apie kliento pusės nukreipimus, situacija šiek tiek skiriasi. Jie vykdomi be jokio atsakymo, tai reiškia, kad būsenos kodai nesiunčiami. Būtent dėl to pastarųjų nepalaiko visi vartotojo agentai. Dėl šio nepatogumo kartais susidaro situacijos, kai lankytojai lieka pradiniame puslapyje ir niekur nėra nukreipiami. Dėl tokių trūkumų dažnai pirmenybė teikiama serverio pusės nukreipimams. Kliento pusės sprendimai turėtų būti naudojami tik tada, kai serverio pusės domeno nukreipimai yra neįmanomi dėl techninių priežasčių.
Kitas domeno nukreipimo tipas – skaidrus arba nematomas nukreipimas. Naudojant šį nukreipimo tipą, URL adresas nesikeičia. Kalbant apie domenų nukreipimus su maskavimu, vartotojui rodomas URL adresas nepasikeičia, nors klientas buvo nukreiptas į kitą domeną ir jam rodomas kito tinklalapio turinys. Tačiau, kadangi šis nukreipimo tipas gali sukelti sunkumų indeksuojant ir rodant URL adresą naršyklėje, jo nerekomenduojama naudoti, nebent būtų taikomi tam tikri apribojimai.
Norite nustatyti domeno nukreipimą? Šiame „IONOS“ pagalbos centro straipsnyje rasite išsamų paaiškinimą, kaip nukreipti savo domeną į kitą domeną.
Peradresavimai serverio pusėje
Daugeliu atvejų domeno nukreipimai serverio pusėje atliekami naudojant konfigūracijos failą .htaccess arba PHP skriptą. Šie metodai leidžia individualiai nustatyti, koks HTTP būsenos kodas turi būti rodomas vartotojo agentui. Tai suteikia svetainių operatoriams galimybę pažymėti domeno nukreipimus kaip nuolatinius arba laikinus. Tam naudojami HTTP būsenos kodai 301 ir 302.
- 301 – Perkelta visam laikui: prašomas išteklius dabar visam laikui pasiekiamas per nukreipimo URL. Senasis URL nuo šiol nebegalioja. Šiuo atveju reikalingas 301 nukreipimas.
- 302 – Laikinai perkeltas: Prašomas išteklius yra prieinamas per nukreiptą URL. Skirtingai nei 301 kodo atveju, pradinis URL vis dar galioja.
Jei HTTP būsenos kodas nėra aiškiai nustatytas, žiniatinklio serveris serverio pusėje atliekant nukreipimą pateikia 302 būsenos kodą. Tai ne visada būtina, todėl geriausia kiekvienam nukreipimui rankiniu būdu įvesti norimą būsenos kodą, nes tai padeda sumažinti indeksavimo klaidų, pavyzdžiui, URL perėmimo, tikimybę. Skirtingai nei 301 nukreipimas, 302 būsenos kodas informuoja žiniatinklio paieškos robotus, kad originalus URL turėtų likti indeksuotas. Jei tai yra numatyta kaip nuolatinis nukreipimas, nukreipimo adresas konkuruoja su nukreipimo tikslu paieškos variklio indekse.
.htaccess nukreipimas
.htaccess yra „Apache“ žiniatinklio serverių konfigūracijos failas. Jis naudojamas pagrindiniams nustatymams perrašyti katalogų lygmeniu. Šis failas leidžia svetainių administratoriams nustatyti konkrečius parametrus domenams ir jų pakatalogiams. Viena iš .htaccess failo funkcijų – atskirų adresų nukreipimas į kitus URL adresus serverio pusėje.
Domeno nukreipimą galima nustatyti naudojant kodą .htaccess faile. Įdėjus .htaccess failą su toliau pateiktu kodu į pagrindinius katalogus, užklausos, skirtos pradiniam domenui, serverio pusėje bus nukreiptos į domeną www.example.com:
Redirect 301 / http://www.example.com/apacheconfŠ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 nukreiptas, kelias. Pateiktame pavyzdyje nukreipiamas visas turinys. Paskutinis žingsnis įvykdomas, kai visas paskirties URL adresas nukreipiamas į vartotojo agento URL adresą: http://www.example.com.
Šis metodas leidžia nukreipti atskirus failus. Toliau pateiktame kode parodyta, kaip naudoti .htaccess failą nukreipimui iš vienos svetainės į kitą:
Redirect 301 /directory/example-document.html http://www.example.com/example.htmlapacheconfNustačius HTTP būsenos kodą 301, nurodomas failo katalogo kelias, kuris turi būti nuolat nukreiptas (/directory/example-document.html), ir nukreipimo URL (http://www.example.com/example.html).
Štai kaip nuolatinis nukreipimas atrodytų „Apache“ serveryje, kuriame veikia mod_rewrite modulis:
RewriteEngine On
RewriteRule ^directory/example-document.html$ http://www.example.com/example.html [L,R=301]apacheconf1 eilutėje komanda RewriteEngine On įjungia „Apache“ žiniatinklio serverio modulį „mod_rewrite“. Toliau eina eilutė RewriteRule, kurioje nurodytas nukreipimo failo kelias ir paskirties adresas. Simboliai „^“ ir „$“ žymi kelio pradžią ir pabaigą, o L žymi paskutinę „mod_rewrite“ taisyklę atitinkamam užklausimui. R=301 perduoda HTTP būseną 301.
Konfigūruojant domeno nukreipimą per .htaccess failą, svarbu nepamiršti, kad neteisingi įrašai gali turėti rimtų pasekmių svetainės veikimui. Kadangi šie pakeitimai įsigalioja iškart po to, kai išsaugote .htaccess failą, konfigūracijas visada reikėtų kruopščiai išbandyti.
PHP nukreipimai
Domeno nukreipimas gali būti atliekamas ne tik konfigūruojant .htaccess failą, bet ir naudojant komandą PHP skripte (pvz., index.php). Toliau pateiktas kodas rodo nuolatinį nukreipimą į išgalvotą paskirties URL adresą www.example.com:
<?php
header("Status: 301 Moved Permanently");
header("Location: http://www.example.com");
exit;
?>phpPerkreipiant per PHP skriptą, norimas HTTP būsenos kodas nustatomas naudojant header funkciją antroje kodo eilutėje. Šiame pavyzdyje turi būti atliktas nuolatinis 301 perkreipimas. Kadangi serverio pusėje perkreipimai paprastai vykdomi laikinai, norint atlikti nuolatinį perkreipimą naudojant 301 būsenos kodą, reikia imtis aktyvių veiksmų. Atliekant nuolatinius nukreipimus, domeno nukreipimo paskirties adresas taip pat registruojamas naudojant header. Šiame pavyzdyje nukreipimas nukreipia į adresą http://www.example.com. Funkcija exit kodo 04 eilutėje užbaigia skriptą ir neleidžia vykdyti kitos kodo eilutės. Kad nukreipimai veiktų per PHP skriptą, kodo blokas turi būti HTML puslapio pradžioje. Tai neleidžia serveriui perkelti HTML turinio į nukreipimo puslapį.
Peradresavimai kliento pusėje
Jei dėl techninių priežasčių neįmanoma atlikti domeno nukreipimo serverio pusėje, svetainių operatoriai gali pasinaudoti kliento pusės sprendimais. Tam galima naudoti HTML meta žymą refresh bei JavaScript. Kliento pusės nukreipimų trūkumas yra tas, kad serveriai nepateikia HTTP būsenos kodų užklausą siunčiantiems naršyklėms ar žiniatinklio paieškos robotams, o tai reiškia, kad jie nėra aiškiai informuojami apie nukreipimą. Be to, kliento pusės nukreipimus palaiko ne visi vartotojo agentai, todėl kyla rizika, kad ne visi svetainės lankytojai bus nukreipti.
Kliento pusėje atliekami nukreipimai daro neigiamą poveikį paieškos sistemų indeksavimui. Naudojant kliento pusėje atliekamus nukreipimus, indeksavimas nėra aiškiai uždraudžiamas naudojant HTTP būsenos kodą 301. Dėl to paieškos sistemų reitinguose nukreipimo domenai gali konkuruoti su tiksliniais domenais. Skirtingai nuo serverio pusėje atliekamų nukreipimų, kurie vartotojams iš esmės lieka nepastebimi, kliento pusėje atliekami nukreipimai visada susiję su vėlavimais, kuriuos kai kurie vartotojai gali pastebėti.
Perkėlimas naudojant HTML meta refresh
HTML meta nukreipimai įgyvendinami naudojant meta žymes su atributu http-equiv. Tam reikia tik paprasto HTML failo ir atitinkamos žymės antraštėje, skirtos nukreipimams sukurti. Kad jūsų svetainės lankytojai būtų informuoti apie nukreipimą, HTML dokumente turėtų būti įterptas atitinkamas pranešimas. Tipiniai pavyzdžiai – tokios eilutės kaip „Prašome palaukti akimirką. Jūs būsite nukreipti…“. Paprastas domeno nukreipimas naudojant HTML meta refresh atrodo taip:
<meta http-equiv="refresh" content="10; url=http://www.example.com/">htmlKlientui siūloma nukreipti domeną naudojant meta žymą http-equiv="refresh". Kaip tai vyksta, galima nustatyti „content“ atribute. Pateiktame pavyzdyje vartotojai po dešimties sekundžių nukreipiami į paskirties domeną www.example.com.
JavaScript nukreipimai
JavaScript suteikia paprastą galimybę nukreipti domeną kliento pusėje. Tačiau, kaip ir meta žymės refresh atveju, JavaScript nukreipimus reikėtų taikyti tik atskirais atvejais, nes dėl saugumo priežasčių ne visos naršyklės palaiko šią skriptų kalbą. Be to, JavaScript gali sukelti problemų žiniatinklio paieškos robotams ir vartotojams, turintiems įjungtus „NoScript“ papildinius. Štai kaip atrodo kodas, skirtas domeno nukreipimui naudojant JavaScript:
<script>
window.location.replace('http://www.example.com');
</script>htmlSvarbiausia čia yra trečioji kodo eilutė. Pavyzdiniame kode objektas window.location naudojamas norint nurodyti dabartinį svetainės adresą. Komanda replace nurodo naršyklei nukreipti vartotoją į paskirties domeną, nurodytą skliaustuose: www.example.com“.