Kā darbojas domēnu pāradresācija?
Ir pieejamas daudzas iespējas, kā pāradresēt domēnus vai apakšdomēnus uz citu jūsu tīmekļa vietnes sadaļu vai uz ārējo adresi. Pāradresēšana bieži tiek veikta, izmantojot .htaccess failu, PHP skriptu, HTML metatagus un JavaScript.
Kādam nolūkam tiek izmantotas domēnu pāradresācijas?
Pāradresācijas tiek izmantotas, lai informētu serverus par to, ka vietnes saturs ir pārvietots no vienas URL uz citu. Tas ir nepieciešams gadījumos, kad sākotnējā tīmekļa adrese ir ienākošās saites galamērķis, ir saglabāta lietotāja datorā vai var ieņemt redzamu vietu meklētājprogrammu rezultātu lapās (SERP). Šajā gadījumā pāradresācija paziņo pārlūkprogrammai vai tīmekļa indeksētājam, ka saturs ir pārvietots, un vietā piedāvā lietotājam saiti uz jauno adresi. Bez pāradresācijām vietnes apmeklētāji vietā, kuru meklē, sastaptos ar 404 kļūdas lapu.
Tas ir kaut kas, ko komerciāli tīmekļa projekti vēlas īpaši izvairīties. Interneta veikali piedāvā pastāvīgi mainīgu preču klāstu, kas tiek parādīts dažādās tīmekļa lapās. Tiklīdz kāda prece vairs nav pieejama, potenciālie klienti tiek novirzīti uz lapu, kurā ir piedāvātas līdzīgas preces. Tas ļauj efektīvi virzīt apmeklētāju plūsmas un samazināt atsitienu rādītājus.
Iestatot domēna pāradresāciju, jūs varat padarīt vienu un to pašu saturu pieejamu arī citās tīmekļa adresēs. Visas alternatīvās adreses tiek vienkārši pāradresētas uz vēlamo tīmekļa vietnes domēnu, neatkarīgi no konkrētās URL adreses vai ceļa, ko ievada lietotāji.
Kādi ir domēnu pāradresācijas veidi?
Parasti tiek nošķirti klientu puses un servera puses pāradresējumi. Veicot servera puses domēna pāradresējumus, atbilstošie HTTP statusa kodi tiek nosūtīti lietotāju aģentiem (pārlūkprogrammām vai tīmekļa indeksētājiem). Situācija nedaudz atšķiras, ja runa ir par klientu puses pāradresējumiem. Tie tiek veikti bez jebkādas atbildes, kas nozīmē, ka statusa kodi netiek nosūtīti. Tāpēc ne visi lietotāju aģenti atbalsta šos pāradresējumus. Šī neērtība dažkārt var izraisīt situācijas, kad apmeklētāji paliek sākotnējā lapā un netiek pāradresēti uz citu vietu. Šādi trūkumi ir iemesls, kāpēc pāradresēšanai bieži tiek dota priekšroka servera puses variantam. Klienta puses risinājumus vajadzētu izmantot tikai tad, ja servera puses domēna pāradresēšana ir izslēgta tehnisku iemeslu dēļ.
Vēl viens domēna pāradresācijas veids ir caurspīdīga vai neredzama pāradresācija. Šāda veida pāradresācijā URL nemainās. Runājot par domēna pāradresācijām ar maskēšanu, lietotājam redzamais URL nemainās, lai gan klients ir pāradresēts uz citu domēnu un viņam tiek parādīts citas tīmekļa lapas saturs. Tomēr, tā kā šāda veida pāradresācija var radīt grūtības ar indeksēšanu un to, kā URL tiek parādīts pārlūkprogrammā, to nav ieteicams izmantot, ja vien nav noteikti konkrēti ierobežojumi.
Vēlaties iestatīt domēna pāradresāciju? Šajā IONOS palīdzības centra rakstā varat uzzināt, kā soli pa solim pāradresēt savu domēnu uz citu domēnu.
Pāradresācija servera pusē
Vairumā gadījumu domēna pāradresēšana servera pusē tiek veikta, izmantojot konfigurācijas failu .htaccess vai PHP skriptu. Šīs metodes ļauj individuāli noteikt, kāds HTTP statusa kods jāparāda lietotāja aģentam. Tas ļauj tīmekļa vietņu operatoriem domēna pāradresēšanu atzīmēt kā pastāvīgu vai pagaidu. Šim nolūkam tiek izmantoti HTTP statusa kodi 301 un 302.
- 301 – Pastāvīgi pārvietots: Pieprasītais resurss tagad ir pastāvīgi pieejams pāradresētajā URL. No šī brīža vecā URL vairs nebūs derīga. Šajā gadījumā ir nepieciešama 301 pāradresācija.
- 302 – Pagaidām pārvietots: Pieprasītais resurss ir pieejams pāradresētajā URL. Atšķirībā no 301 koda, sākotnējais URL joprojām ir derīgs.
Ja HTTP statusa kods nav skaidri norādīts, tīmekļa serveris servera puses pāradresācijas laikā nosūta statusa kodu 302. Tas ne vienmēr ir nepieciešams, tāpēc vislabāk ir katrai pāradresācijai manuāli ievadīt vēlamo statusa kodu, jo tas palīdz samazināt indeksēšanas kļūdu, piemēram, URL pārņemšanas, rašanās iespēju. Atšķirībā no 301 pāradresācijas, 302 statusa kods informē tīmekļa indeksētājus, ka sākotnējā URL adrese jāpaliek indeksēta. Ja tas ir paredzēts kā pastāvīgs, pāradresācijas adrese konkurē ar pāradresācijas galamērķi meklētājprogrammas indeksā.
.htaccess pāradresācija
.htaccess ir Apache tīmekļa serveru konfigurācijas fails. To izmanto, lai pārrakstītu centrālās konfigurācijas katalogu līmenī. Šis fails ļauj tīmekļa vietņu pārvaldītājiem veikt katalogiem specifiskus iestatījumus domēniem un to apakškatalogiem. Viena no .htaccess faila funkcijām ir atsevišķu adrešu pāradresēšana uz citām URL adresēm servera pusē.
Jūs varat iestatīt domēna pāradresāciju, izmantojot kodu .htaccess failā. Kad .htaccess fails ar šādu kodu ir ievietots galvenajā direktorijā, pieprasījumi uz sākotnējo domēnu tiek pāradresēti servera līmenī uz domēnu www.example.com:
Redirect 301 / http://www.example.com/apacheconfŠī koda rinda sākas ar redirect 301 un nosaka, kādu HTTP statusa kodu serverim jānosūta. Pēc tam seko ceļš uz saturu, uz kuru jāveic pāradresācija. Iepriekš minētajā piemērā tiek pāradresēts viss saturs. Pēdējais solis tiek veikts, kad pilnā galamērķa URL tiek pāradresēta uz lietotāja aģenta URL: http://www.example.com.
Šī metode ļauj pāradresēt atsevišķus failus. Turpmāk redzamais kods parāda, kā ar .htaccess failu pāradresēt no vienas tīmekļa vietnes uz citu:
Redirect 301 /directory/example-document.html http://www.example.com/example.htmlapacheconfPēc tam, kad ir norādīts HTTP statusa kods 301, tiek norādīts faila kataloga ceļš, kas ir jāpāradresē uz visiem laikiem (/directory/example-document.html), un pāradresācijas URL (http://www.example.com/example.html).
Šādi izskatītos pastāvīgā pāradresācija Apache serverī ar aktīvu mod_rewrite moduli:
RewriteEngine On
RewriteRule ^directory/example-document.html$ http://www.example.com/example.html [L,R=301]apacheconfKoda 01. rindā ar komandu RewriteEngine On tiek aktivizēts Apache tīmekļa servera mod_rewrite modulis. Pēc tam seko RewriteRule, kurā norādīts pāradresācijas faila ceļš un galamērķa adrese. Ceļa sākumu un beigas iezīmē simbols „^“ un simbols „$“, savukārt L apzīmē pēdējo mod_rewrite noteikumu attiecīgajam pieprasījumam. R=301 nosūta HTTP statusu 301.
Konfigurējot domēna pāradresāciju, izmantojot .htaccess failu, ir svarīgi atcerēties, ka nepareizi ieraksti var būtiski ietekmēt tīmekļa vietnes darbību. Ņemot vērā, ka šīs izmaiņas stājas spēkā uzreiz pēc .htaccess faila saglabāšanas, konfigurācijas vienmēr ir rūpīgi jāpārbauda.
PHP pāradresācijas
Domēna pāradresāciju var veikt ne tikai, konfigurējot .htaccess failu, bet arī izmantojot komandu PHP skriptā (piemēram, failā index.php). Turpmāk redzamais kods parāda pastāvīgu pāradresāciju uz izdomātu galamērķa URL, www.example.com:
<?php
header("Status: 301 Moved Permanently");
header("Location: http://www.example.com");
exit;
?>phpVeicot pāradresāciju ar PHP skriptu, paredzētais HTTP statusa kods tiek definēts ar funkciju header koda otrajā rindā. Šajā piemērā ir jāveic pastāvīga 301 pāradresācija. Ņemot vērā, ka servera puses pāradresācijas parasti tiek izpildītas kā pagaidu, ir nepieciešams veikt aktīvus pasākumus, lai izpildītu pastāvīgas pāradresācijas, izmantojot 301 statusa kodu. Pastāvīgās pāradresācijas gadījumā domēna pāradresācijas galamērķa adrese tiek reģistrēta arī ar header. Šajā piemērā pāradresācija tiek veikta uz adresi http://www.example.com. Funkcija exit koda 04. rindā pārtrauc skriptu un neļauj izpildīt nākamo koda rindu. Lai pāradresācijas darbotos, izmantojot PHP skriptu, koda blokam jāatrodas HTML lapas sākumā. Tas neļauj serverim pārsūtīt HTML saturu uz pāradresācijas lapu.
Pāradresēšana klienta pusē
Ja tehnisku iemeslu dēļ nav iespējams veikt domēna pāradresāciju servera pusē, tīmekļa vietņu operatoriem ir iespēja izmantot klientu puses risinājumus. Šim nolūkam ir pieejama HTML meta tag refresh, kā arī JavaScript. Klientu puses pāradresāciju trūkums ir tas, ka serveri neatsūta HTTP statusa kodus pieprasījumu veicošajām pārlūkprogrammām vai tīmekļa indeksētājiem, tādējādi tie netiek skaidri informēti par pāradresāciju. Turklāt klientu puses pāradresācijas neatbalsta visi lietotāju aģenti, kas nozīmē, ka pastāv risks, ka ne visi tīmekļa vietnes apmeklētāji tiks pāradresēti.
Pāradresācijas lietotāja pusē negatīvi ietekmē indeksēšanu meklētājprogrammās. Lietotāja puses pāradresācijās netiek veikta skaidra izslēgšana no indeksēšanas, izmantojot HTTP statusa kodu 301. Tas var izraisīt situāciju, ka pāradresācijas domēni konkurē ar galamērķa domēniem meklētājprogrammu reitingos. Atšķirībā no servera puses pāradresācijām, kas lietotājiem lielākoties paliek nepamanāmas, lietotāja puses pāradresācijām vienmēr ir raksturīgas aizkavēšanās, ko daži lietotāji var pamanīt.
Pāradresēšana, izmantojot HTML meta refresh
HTML meta pāradresācijas tiek īstenotas, izmantojot meta tagus ar atribūtu http-equiv. Lai to izdarītu, nepieciešams vienkāršs HTML fails un atbilstošs tags galvenajā daļā pāradresācijas izveidei. Lai jūsu tīmekļa vietnes apmeklētāji tiktu informēti par pāradresāciju, HTML dokumentā jāiekļauj atbilstošs paziņojums. Tipiski piemēri ir tādas rindas kā „Lūdzu, pagaidiet mirkli. Jūs tiksiet pāradresēts…“. Vienkārša domēna pāradresācija, izmantojot HTML meta refresh, izskatās šādi:
<meta http-equiv="refresh" content="10; url=http://www.example.com/">htmlKlientam tiek piedāvāts pāradresēt domēnu, izmantojot meta tagu http-equiv="refresh". To, kā tas notiek, var definēt atribūtā „content“. Šajā piemērā lietotāji tiek pāradresēti uz galamērķa domēnu www.example.com pēc desmit sekundēm.
JavaScript pāradresācijas
JavaScript piedāvā vienkāršu iespēju veikt domēna pāradresāciju lietotāja pusē. Tomēr, tāpat kā refresh tagu gadījumā refresh JavaScript pāradresācijas būtu jāizmanto tikai atsevišķos gadījumos, jo drošības apsvērumu dēļ ne visas tīmekļa pārlūkas atbalsta šo skriptu valodu. JavaScript var radīt problēmas arī tīmekļa indeksētājiem un lietotājiem, kuriem ir aktivizēti NoScript paplašinājumi. Šādi izskatās kods domēna pāradresācijai, izmantojot JavaScript:
<script>
window.location.replace('http://www.example.com');
</script>htmlSvarīgākais šeit ir trešā koda rinda. Parauga kodā objekts window.location tiek izmantots, lai norādītu uz pašreizējo tīmekļa vietnes adresi. Komanda replace liek pārlūkprogrammai novirzīt lietotāju uz galamērķa domēnu, kas atrodas iekavās: www.example.com.