Administrare server open source

Platforma de hosting cu software liber, gratuit, open source.

Comentariile sunt închise pentru Redirectari

In web development avem nevoie de redirectari in diferite situatii. De obicei redirectarile sunt utilizate pentru a nu lasa userul cu ochii-n soare cand da click pe un link catre o pagina care s-a mutat, cand developerul face un URL scurt pentru a evita un URL foarte lung, cand tentativa de login este esuata, cand este detectata o metoda de atac etc.

Redirectarile au multe utilizari si fiecare are plusurile si minusurile ei. Vine impreuna cu un mesaj din partea serverului, un cod de eroare care ne spune ce fel de redirectare e. De exemplu, daca serverul ne trimite codul 301 browserul/crawlerul stie ca acea redirectare este permanenta. Daca se trimite codul 302, atunci browserul/crawlerul stie ca e o redirectare provizorie. Codurile transmise de server pot fi vazute cu un plug-in pentru browser de tipul “Live HTTP Headers” si pot fi vazute doar in cazul in care redirectarea e facuta de server sau de o pagina de pe server.

OK, probabil va intereseaza mai mult modul in care se poate redirecta decat palavrageala asa ca insir redirectarile clasice care le puteti gasi in viata de zi cu zi:

1. Redirectare din HTML cu instructiunile META
Prin HTML putem initia o redirectare cu ajutorul instructiunii META. In pagina, imediat dupa instructiunea adaugam o instructiune meta de forma:

<meta http-equiv=”refresh” content=”0,http://www.skullbox.info/” />

Cand utilizatorul incarca pagina browserul citeste instructiunea meta care ii spune sa se faca un refresh la 0 secunde (adica instant) iar dupa refresh sa incarce pagina http://www.skullbox.info/ .

2. Redirectare prin JavaScript
Prin JavaScript putem face o redirectare folosind codul urmator oriunde in pagina:

<script language=”javascript”>
    self.location=”http://www.skullbox.info/”;
</script>

Codul se poate pune oriunde in pagina dar e de preferat sa fie in sectiunea HEAD

3. Redirectare prin PHP
Ca sa facem redirectare in PHP trebuie sa punem codul chiar la inceputul paginii, sa nu se transmita nici un fel de informatii inainte de redirectare. Pentru redirectare trimitem 2 headere. Primul spune browserului ca pagina s-a mutat permanent (301) iar al doilea header trimis da noua locatie. Treaba merge cam asa:

< ?php
    header(”HTTP/1.1 301 Moved Permanently”);
    header(”Location: http://www.skullbox.info/”);
    exit();
?>

4. Redirectare prin ASP
Pentru cei care prefera ASP in loc de PHP se face cam aceeasi treaba dar intr-un mod mai simplu. In ASP exista o singura functie pentru redirectare, nu trebuie trimise headere browserului. Redirectarea se face asa:

< %
    Response.Redirect “http://www.skullbox.info/”
%>

5. Redirectare prin .htaccess
Daca nu vreti sa depindeti de vreo pagina de pe server sau de vreun limbaj de programare/scripting puteti modifica fisierul .htaccess din contul vostru pentru redirectare. Prin .htaccess redirectarea se poate face in doua feluri:
5.1 Cu ajutorul functiei Redirect

Redirect 301 /test.php http://www.skullbox.info

test.php e fisierul la apelarea caruia se face redirectarea.

5.2 Cu ajutorul mod_rewrite
Cu mod_rewrite trebuie o linie in plus pentru pornirea engine-ului de redirectare. Codul arata cam asa:

RewriteRule ^test.php$ http://www.skullbox.info/ [R=301,L]

Avantajul e ca putem pune diferite conditii cu RewriteCond pentru a verifica browserul, IP-ul sau alte detalii ale vizitatorului.

Apache

Comments are closed.