A seconda del linguaggio di programmazione usato e del sistema che si predilige, abbiamo a disposizione diversi modi per reindirizzare un utente verso un’altra pagina in modo del tutto automatico.
Il redirect ci è utile in numerose situazioni. Un esempio l’abbiamo nel caso in cui, nel sito, abbiamo un’area riservata accessibile solo agli utenti registrati; se un utente non registrato cercherà di accedere a quella pagina, dovremmo bloccarlo con una funzione di controllo e inviarlo a un’altra pagina di inizio (per esempio l’home o la pagina di login).
In questo articolo vedremo:
– reindirizzamento con puro html
– reindirizzamento tramite htaccess
– reindirizzamento con javascript
– reindirizzamento con php
Html puro e htaccess
1 |
<meta http-equiv="refresh" content="5;url=home.php">
|
Il codice sopra va inserito entro i tag : si tratta infatti di un attributo metatag che agisce al caricamento della pagina.
Il numero iniziale (“5”) sono i secondi che passano prima di essere reindirizzati dal momento in cui si accede alla pagina. Il campo url stabilisce invece la pagina di destinazione del reindirizzamento. Naturalmente al posto di home.php
si può inserire un indirizzo internet completo (es: “http://www.sito.it/”).
Con l’htaccess il concetto è un po’ diverso. Per un approfondimento completo sull’uso dell’htaccess fate riferimento a questo articolo. I commenti si spiegano da soli.
1 2 3 |
#Qui sotto invece un esempio di redirect 301 #Indirizza le sottocartelle di /ecommerce/ verso sito.it redirect 301 /ecommerce/ http://www.sito.it/ |
1 2 3 4 5 |
#Se l'indirizzo non è nè www.sito.it nè sito.it, reindirizza a altro_sito.com RewriteEngine On RewriteCond %{HTTP_HOST} !www.sito.it RewriteCond %{HTTP_HOST} !sito.it RewriteRule (.*)$ http://www.altro_sito.com [R=301,L] |
PHP, ASP e Javascript
In php per reindirizzare si fa uso della funzione header
. Le due righe qui sotto sono equivalenti, con la differenza che nel secondo caso è possibile stabilire un tempo di attesa (come nel codice html visto sopra).
1 2 3 4 5 |
<?php //Reindirizza alla pagina "home.php"; deve essere inserito all'inizio del codice php header("Location: home.php"); header("Refresh: 0; URL=home.php"); ?> |
In asp il concetto è lo stesso:
1 2 3 |
<% Response.Redirect("home.php") %> |
Per reindirizzare con javascript si fa uso del metodo self.location
. Subito dopo vediamo una funzione in php che permette di richiamare, in qualsiasi punto della pagina, la funzione javascript qui sotto: sarà sufficiente evocare la funzione gotoPage
da noi creata passandogli l’indirizzo della pagina di destinazione.
1 2 3 |
<script language="javascript"> self.location="home.php" </script> |
1 2 3 4 5 6 7 8 |
<?php function gotoPage($indirizzo=""){ echo '<script language="javascript">'; echo 'self.location="'.$indirizzo.'"'; echo '</script>'; } gotoPage("home.php"); ?> |
grazie mi serviva questo chiarimento…
di niente, un po’ di ripasso fa sempre comodo 😉