Skip to content
Kruno Golubić
Go back

Preusmjeravanje i skraćivanje web adresa

Kruno Golubić

Napomena: Ovaj članak izvorno je objavljen na portalu Sistemac dana 31. svibnja 2011.

Kako smo u jednom od prethodnih članaka vidjeli, jedan od načina za preusmjeravanje, tj. skraćivanje URL-ova je upotreba tzv. 301 Redirect metode. Iz toga i proizlazi da skraćivanje URL-ova nije ništa drugo nego jednostavno preusmjeravanje. Kod skraćivanja je obično cilj da se neki jako dugačak URL skrati tako da zauzima što manje znakova. Zbog toga su imena domena servisa za kraćenje što kraća.

Ovaj članak ćemo pisati s pretpostavkom da imamo podešen web servis www.srce.hr na kojem se nalaze sadržaji, poddomenu s.srce.hr (na kojoj će se nalaziti skraćene adrese) te da se datoteke te poddomene nalaze u podmapi s_pod unutar Apache web mape. Isto tako, uzet ćemo da je URL koji želimo skratiti:

http://www.srce.hr/vijesti/kategorija1/novost_543.html

tako da mu skraćeni oblik bude:

http://s.srce.hr/543

Meta refresh

Kod web stranica postoji nekoliko načina za preusmjeravanje na novi URL. Zasigurno najjednostavniji način je ubacivanje odgovarajućeg koda u HTML naredbu meta. U tom slučaju mogli bismo na poslužitelju unutar mape 543 stvoriti datoteku index.html. Ime datoteke ovisi o postavkama poslužitelja — ako uzmemo za primjer Apache poslužitelj, potrebna podešavanja možemo napraviti pomoću direktiva iz Apache modula mod_dirDirectoryIndex i DirectorySlash. U ranije spomenutu datoteku index.html upišemo sljedeći kod:

<meta http-equiv="refresh" content="0; url=http://www.srce.hr/vijesti/kategorija1/novost_543.html">

Na taj način, kada se u preglednik upiše adresa http://s.srce.hr/543, napravit će se preusmjeravanje na adresu navedenu unutar meta naredbe. Ovakvu metodu bolje je izbjegavati jer bi web pretraživači mogli penalizirati ovakav način preusmjeravanja.

JavaScript redirect

Na slične načine moguće je postići i preusmjeravanje pomoću JavaScripta:

<script type="text/javascript">
<!--
window.location = "http://www.srce.hr/vijesti/kategorija1/novost_543.html"
//-->
</script>

HTTP 301 i 302 kodovi

RFC2616 definira Hypertext Transfer Protocol i način na koji se on implementira. Unutar poglavlja 10 ovog RFC-a definirani su tzv. status codes. Nas u kontekstu ovog članka zanima kod 301 Moved Permanently. Kod 301 se može iskoristiti u različitim situacijama:

Za preusmjeravanje se može iskoristiti i 302 Found. Za razliku od koda 301 koji znači trajno premještanje resursa na novu lokaciju, kod 302 označava privremeno premještanje resursa na novu lokaciju.

Preusmjeravanje u Apache .htaccess

U slučaju Apache poslužitelja ranije spomenuto preusmjeravanje (skraćivanje) moglo bi se napraviti tako da se u .htaccess datoteku upiše sljedeći kod:

redirect 301 /s_pod/543/ http://www.srce.hr/vijesti/kategorija1/novost_543.html

Za ovakav primjer bitno je da je na poslužitelju mapa 543 stvorena unutar mape s_pod. Unutar mape 543 ne treba biti prisutna niti jedna datoteka.

Ukoliko nemamo na raspolaganju neki mehanizam koji bi automatizirao izmjene i nadopunjavanje .htaccess datoteke, ovakav pristup može oduzeti jako puno vremena budući je za svaki URL potrebno ručno uređivati .htaccess datoteku.

Preusmjeravanje pomoću 301 Redirect je najpravilniji način za usmjeravanje web pretraživača na novu adresu (Google webmaster FAQ) i njegova implementacija ne bi trebala utjecati na poziciju vaših stranica unutar pretraživača.

Kao što se vidi, postoji veliki broj različitih načina koji se mogu iskoristiti za preusmjeravanje, odnosno skraćivanje URL-ova. Ukoliko nemate vremena za izradu vlastitog programa koji bi vam olakšao i automatizirao ovakve zadatke, predlažemo da posegnete za nekim gotovim rješenjem. U idućem članku ćemo pokazati jedno takvo rješenje — gotovu skriptu za tu namjenu u obliku vlastitog servisa za preusmjeravanje.


Share this post on:

Previous Post
YOURLS - izrada vlastitog servisa za skraćivanje URL-ova
Next Post
Servisi za skraćivanje URL-ova