# Kako delujejo preusmeritve domene?

Na voljo je veliko možnosti za preusmerjanje domen ali poddomen na drug del vaše spletne strani ali na zunanji naslov. Preusmeritve se pogosto izvajajo prek **datoteke .htaccess**, **PHP-skripta**, **HTML-metaoznak** in **JavaScript**.

## Za kaj se uporabljajo preusmeritve domen?

Preusmeritve se uporabljajo za obveščanje strežnikov, da je bila vsebina spletnega mesta premaknjena z enega URL-ja na drugega. To je potrebno, kadar je prvotni spletni naslov cilj prihajajoče povezave, je shranjen na uporabnikovem računalniku ali pa zaseda vidno mesto na straneh z rezultati iskalnikov (SERP). V tem primeru preusmeritev sporoči brskalniku ali spletnemu pajku, da je bila vsebina premaknjena, in uporabniku namesto tega ponudi povezavo do novega naslova. Brez preusmeritev bi obiskovalci spletnega mesta namesto spletnega mesta, ki ga iščejo, naleteli na stran z napako 404.

To je nekaj, čemur se želijo izogniti predvsem komercialni spletni projekti. Spletne trgovine ponujajo nenehno spreminjajočo se ponudbo izdelkov, ki so prikazani na različnih spletnih straneh. Ko izdelek ni več na voljo, se potencialni kupci preusmerijo na stran s podobnimi izdelki. To vam omogoča učinkovito usmerjanje **tokov obiskovalcev** in zmanjšanje stopnje odboja.

Ko nastavite preusmeritev domene, lahko isto vsebino omogočite tudi na različnih spletnih naslovih. Vsi alternativni naslovi se preprosto preusmerijo na želeno spletno domeno, ne glede na to, kateri URL ali pot uporabniki vpišejo.

## Katere vrste preusmeritev domen obstajajo?

Na splošno razlikujemo med preusmeritvami na strani odjemalca in na strani strežnika. Pri **preusmeritvah domene na strani strežnika** se ustrezne kode HTTP-stanja posredujejo uporabniškim agentom (brskalnikom ali spletnim pajkom). Pri **preusmeritvah na strani odjemalca** je situacija nekoliko drugačna. Te se izvedejo brez kakršnega koli odziva, kar pomeni, da se kode stanja ne pošiljajo. Zato slednje ne podpirajo vsi uporabniški agenti. Ta nevšečnost lahko včasih privede do situacij, ko obiskovalci ostanejo na prvotni strani in niso preusmerjeni nikamor. Takšne pomanjkljivosti so razlog, da se za preusmeritve pogosto raje uporablja možnost na strani strežnika. Rešitve na strani odjemalca se smejo uporabljati le, če so preusmeritve domene na strani strežnika izključene zaradi tehničnih razlogov.

Druga vrsta preusmeritve domene je transparentna ali nevidna preusmeritev. Pri tej vrsti preusmeritve se URL ne spremeni. Pri preusmeritvah domene z maskiranjem se URL, ki se prikaže uporabniku, ne spremeni, čeprav je bil uporabnik preusmerjen na drugo domeno in se mu prikazuje vsebina druge spletne strani. Ker pa ta vrsta preusmeritve lahko povzroči težave pri indeksiranju in prikazovanju URL-ja v brskalniku, se ne priporoča, razen če veljajo določene omejitve.

Tip Želite nastaviti preusmeritev domene? V naslednjem [članku centra za pomoč IONOS](https://www.ionos.co.uk/help/domains/forwarding-a-domain/forwarding-a-domain-to-a-different-domain/ "Forwarding a Domain to a Different Domain - IONOS Help") boste našli podrobna navodila, kako preusmeriti svojo domeno na drugo domeno.

## Preusmeritve na strežniški strani

V večini primerov se preusmeritve domen na strežniški strani izvajajo prek konfiguracijske datoteke **.htaccess** ali **PHP-skripta**. Te metode omogočajo, da se za vsak primer posebej določi, katera HTTP-statusna koda naj se prikaže uporabniškemu agentu. To upraviteljem spletnih strani omogoča, da preusmeritve domen označijo kot trajne ali začasne. Za to se uporabljata **HTTP-statusni kodi** 301 in 302.

- **301 – Trajno premaknjeno**: Zahtevani vir je zdaj trajno dostopen na preusmerjenem URL-ju. Stari URL bo od zdaj naprej neveljaven. V tem primeru je potrebna preusmeritev 301.
- **302 – Začasno premaknjeno**: Zahtevani vir je na voljo pod preusmerjenim URL-jem. Za razliko od kode 301 ostane prvotni URL še vedno veljaven.

Če statusna koda HTTP ni izrecno določena, spletni strežnik med preusmeritvijo na strežniški strani izda statusno kodo 302. To ni vedno potrebno, zato je najbolje, da za vsako preusmeritev ročno vnesete želeno statusno kodo, saj to pomaga zmanjšati verjetnost pojava **napak pri indeksiranju**, kot je na primer [»URL hijacking](https://www.ionos.com/sl-si/digitalguide/domene/upravljanje-domene/prevzemanje-url-jev-kaj-to-pravzaprav-je/)«. Za razliko od preusmeritve 301 statusna koda 302 obvešča spletne pajke, da mora prvotni URL ostati indeksiran. Če naj bi bila preusmeritev trajna, naslov preusmeritve tekmuje z destinacijo preusmeritve v indeksu iskalnika.

### Preusmeritev v datoteki .htaccess

.htaccess je **konfiguracijska datoteka** za spletne strežnike Apache. Uporablja se za prepisovanje splošnih nastavitev na ravni imenikov. Ta datoteka omogoča upraviteljem spletnih strani, da za domene in njihove podimenike določijo nastavitve, specifične za posamezne imenike. Ena od funkcij datoteke .htaccess je preusmerjanje posameznih naslovov na druge URL-je na strežniški strani.

Preusmeritev domene lahko nastavite s pomočjo kode v datoteki .htaccess. Ko datoteko .htaccess z naslednjo kodo shranite v glavni imenik, se zahtevki za prvotno domeno na strežniški strani preusmerijo na domeno `www.example.com`:

```apacheconf
Redirect 301 / http://www.example.com/
```

Ta vrstica kode se začne s `redirect 301` in določa, katero HTTP-statusno kodo naj strežnik vrne. Sledi ji pot do vsebine, ki naj bi bila preusmerjena. V zgornjem primeru se preusmeri vsa vsebina. Zadnji korak je opravljen, ko se celoten ciljni URL preusmeri na URL uporabniškega agenta: `http://www.example.com`.

Ta metoda omogoča preusmerjanje posameznih datotek. Spodnja koda prikazuje preusmeritev v datoteki .htaccess z ene spletne strani na drugo:

```apacheconf
Redirect 301 /directory/example-document.html http://www.example.com/example.html
```

Ko je poskrbljeno za HTTP-statusno kodo 301, se navedejo pot do mape datoteke, ki naj bi bila trajno preusmerjena (`/directory/example-document.html`), ter URL-naslov za preusmeritev (`http://www.example.com/example.html`).

Tako bi izgledalo trajno preusmerjanje na strežniku Apache z aktivnim **modulom mod\_rewrite**:

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

V vrstici kode 01 se z ukazom `RewriteEngine On` aktivira modul mod\_rewrite spletnega strežnika Apache. Sledi številka `RewriteRule` s potjo do datoteke za preusmeritev in ciljnim naslovom. Simboli kljukica in dolar označujeta začetek in konec poti, `L` pa označuje zadnje pravilo mod\_rewrite za zadevno zahtevo. `R=301` posreduje HTTP-stanje 301.

Tip V drugem članku smo za vas zbrali nekaj nasvetov za datoteko .htaccess.

Več o mehanizmih za prepisovanje lahko izveste tudi v našem digitalnem vodniku.

Pri nastavitvi preusmeritve domene prek datoteke .htaccess je pomembno upoštevati, da imajo napačni vnosi **resne posledice** za delovanje spletne strani. Ker te spremembe začnejo veljati takoj po shranitvi datoteke .htaccess, je treba nastavitve vedno temeljito preizkusiti.

### Preusmeritve v PHP

Preusmeritev domene ni mogoče izvesti le s konfiguracijo datoteke .htaccess, ampak tudi z ukazom v skriptu PHP (npr. v datoteki *index.php*). Spodnja koda prikazuje trajno preusmeritev na izmišljeni ciljni URL, `www.example.com`:

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

Pri preusmerjanju prek skripta PHP se želeni HTTP-statusni kod določi s funkcijo `header` v drugi vrstici kode. V tem primeru je treba izvesti trajno preusmeritev 301. Glede na to, da se preusmeritve na strežniški strani običajno **izvajajo začasno**, je treba aktivno poskrbeti za izvedbo trajnih preusmeritev prek statusnega koda 301. Pri trajnih preusmeritvah je ciljni naslov preusmeritve domene registriran tudi s `header`. Preusmeritev v tem primeru nato vodi na naslov `http://www.example.com`. Funkcija `exit` v vrstici 04 kode zaključi skript in prepreči izvedbo naslednje vrstice kode. Da bi preusmeritve delovale prek PHP skripta, mora biti blok kode na začetku HTML strani. To prepreči, da bi strežnik prenesel HTML vsebino na stran preusmeritve.

## Preusmeritve na strani brskalnika

Če zaradi tehničnih razlogov preusmeritev domene na strežniški strani ni mogoča, imajo upravljavci spletnih strani možnost uporabe rešitev na strani odjemalca. Za to sta na voljo **HTML-metaoznaka `refresh`** in **JavaScript**. Slabost preusmeritev na strani odjemalca je, da strežniki brskalnikom ali spletnim pajkom, ki pošiljajo zahteve, ne posredujejo HTTP-statusnih kod, kar pomeni, da ti niso izrecno obveščeni o preusmeritvi. Poleg tega preusmeritve na strani odjemalca ne podpirajo vsi uporabniški agenti, kar pomeni, da obstaja tveganje, da ne bodo preusmerjeni vsi obiskovalci spletne strani.

Preusmeritve na strani brskalnika negativno vplivajo na indeksiranje v iskalnikih. Pri preusmeritvah na strani brskalnika ne pride do izrecnega izključitve iz indeksiranja prek statusne kode HTTP 301. To lahko privede do tega, da domene, s katerih poteka preusmeritev, tekmujejo z namembnimi domenami pri uvrščanju v iskalnikih. Za razliko od preusmeritev na strani strežnika, ki so za uporabnike večinoma nevidne, so preusmeritve na strani brskalnika vedno povezane z **zamudami**, kar nekateri uporabniki lahko opazijo.

### Prenos prek HTML-meta-refresh

Preusmeritve HTML meta se izvajajo prek meta oznak z atributom `http-equiv`. Za to je potrebna le preprosta datoteka HTML in ustrezna oznaka v glavi za ustvarjanje preusmeritev. Da bi bili obiskovalci vaše spletne strani obveščeni o preusmeritvi, je treba v HTML-dokumentu vstaviti ustrezno obvestilo. Tipični primeri vključujejo vrstice, kot **je »Prosimo, počakajte trenutek. Preusmerjeni boste na…«.** Preprosta preusmeritev domene prek HTML meta refresh izgleda takole:

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

Stranka je pozvana, naj domeno preusmeri prek meta oznake `http-equiv="refresh"`. Način preusmeritve se lahko določi v atributu content. V tem primeru se uporabniki po desetih sekundah preusmerijo na ciljno domeno `www.example.com`.

### Preusmeritve v JavaScriptu

JavaScript omogoča preprosto preusmerjanje domen na strani odjemalca. Vendar pa je, podobno kot pri meta oznaki `refresh`, treba preusmeritve z JavaScriptom uporabljati le v posameznih primerih, saj ta skriptni jezik zaradi varnostnih pomislekov **ne podpira vsak spletni brskalnik**. JavaScript lahko povzroča težave tudi spletnim pajkom in uporabnikom z aktiviranimi dodatki NoScript. Tako izgleda koda za preusmeritev domene prek JavaScript:

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

Najpomembnejša je tukaj tretja vrstica kode. V primeru kode se objekt `window.location` uporablja za sklicevanje na trenutni naslov spletne strani. Ukaz `replace` brskalniku naroča, naj uporabnika preusmeri na ciljno domeno, ki je navedena v oklepajih: `www.example.com`.


This is a markdown version of: [https://www.ionos.com/sl-si/digitalguide/domene/upravljanje-domene/osnove-preusmerjanja-domen/](https://www.ionos.com/sl-si/digitalguide/domene/upravljanje-domene/osnove-preusmerjanja-domen/) for AI/LLM consumption.