Come personalizzare la pagina 404 su Apache e IIS


Nel precedente post avevo trattato la personalizzazione grafica della pagina di errore 404 in modo da aumentare il numero di utenti che a seguito dell'errore continuano la navigazione del sito. Di seguito riporto le indicazioni su come indicare correttamente al web server di utilizzare la pagina d'errore personalizzata in occasione dello status sopra indicato.
Gli step esecutivi variano secondo l'ambiente in cui è pubblicato il sito (Windows / IIS o Apache) e dai privilegi di gestione che si ha sul server.

Per i siti è pubblicati in ambiente Microsoft (Windows / IIS) la corretta personalizzazione della pagina 404 dipende dal tipo di privilegi che si sul server. Trovandosi su un dedicato (o VPS) si può agire direttamente dal panello di amministrazione di IIS; selezionato il sito di cui si vuole personalizzare gli errori, cliccare su "Proprietà" e poi su "Errori personalizzati". A questo punto selezionare 404 ed impostare il percorso della nuova pagina d'errore.

In un ambiente con limitate possibilità di gestione spesso i servizi di hosting forniscono la possibilità di personalizzare una nuova pagina di errore dal proprio pannello di controllo. Purtroppo, come ho verificato in diverse occasioni, non sempre il risultato è quello che ci si aspetta.
Molti provider gestiscono la personalizzazione delle pagine di errore associando al template caricato uno status HTTP differente dal corretto 404 (NOT FOUND). Per gli utenti il messaggio sarà comunque ben chiaro ma, al contrario, non è la stessa cosa per gli spider dei motori di ricerca che si trovano ad interpretare uno status code HTTP diverso da quello di errore e reagire di conseguenza.
E' possibile verificare se il web server risponde correttamente in caso di errore 404 con  diversi tool dispodibili online che mostrano l'header HTTP restituito. Per verificare lo status code con cui il sito risponde in caso di FILE NOT FOUND è sufficiente inserire l'URL di una pagina inesistente ed analizzare la risposta.
status-code-404.jpg

Se il server non restituisce con un codice 404 ma, al contrario, con un 200 (OK) o un 302 consiglio d'intervenire per correggere l'errata informazione che state fornendo.
Trovandosi su un sito gestito da Apache basterà modificare / creare il file .htaccess inserendo il comando:
ErrorDocument 404 /pagina-personalizzata-404.htm
L'istruzione indica al web server che in presenza di un codice d'errore 404 dovrà restituire la pagina personalizzata indicata.
Se il sito si trova su un server Windows / IIS e si ha l'accesso limitato al proprio spazio web si può impostare il corretto status 404 con uno script ASP (o PHP).  Per prima cosa è necessario assegnare al file della pagina d'errore personalizzata l'estensione ASP o PHP. All'interno del file, secondo il linguaggio di programmazione scelto, si dovrà inserire come prima riga il codice:
<%
Response.Status = "404 NOT FOUND"
%>

<?php
header("HTTP/1.0 404 Not Found");
?>

Tag: (2) (1) (4) (1)

Scritto da Simone Rinzivillo il 04.11.08
| Comments (0) | TrackBacks (0)

TrackBack

TrackBack URL for this entry:
http://www.simonerinzivillo.it/mt4/mt-tb.cgi/39

Post a comment

Chi sono

Questo box mi fa sentire stretto per raccontare in breve chi sono, non che io abbia tante cose da scrivere ma lo spazio sembra veramente poco.
Lavoro nell'informatica dal 2000. Ho iniziato come analista programmatore prestando consulenza presso TSF S.p.A. nello sviluppo di sistemi informatici per il Gruppo Ferrovie dello Stato.
Ho lavorato in Ad Maiora come Project Manager e SEO specialist.
Oggi curo la visibilità online dei clienti di Mamadigital dove ricopro l'incarico di Technical Manager. Il blog nasce dalle ceneri del ban di Google e peggio di così non può essere per un SEO. Ho deciso di avviarlo spiegando proprio cosa ha portato a questa situazione.
Simone Rinzivillo su LinkedIn