Come impostare il codice di stato HTTP corretto per una pagina di errore 404

Una pagina di errore 404 è un file HTML che può essere impostato a piacimento, il cui scopo è d’informare i visitatori e i crawler che una pagina non esiste (più). Ma come si fa ad rimandare il codice di stato corretto?

Quando si crea autonomamente una pagina di errore, è importante assicurarsi che venga emesso il codice di stato HTTP corretto. In questo articolo parleremo del codice di stato HTTP 404. L’immagine seguente mostra il markup HTML di una pagina di errore 404 nel codice sorgente:

Codice sorgente: codice HTML di una pagina di errore 404

Per impostare il codice di stato HTTP desiderato utilizziamo il seguente codice PHP:

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

Nel caso in cui PHP non venga eseguito come modulo Apache sul server web, ma come FastCGI, la specifica “HTTP/1.1” nel codice PHP deve essere sostituita con “Status:”.

Il file HTML della nostra pagina di errore verrà completato con queste tre righe di codice PHP al di sopra del markup HTML:

Codice sorgente: markup HTML di una pagina di errore 404 con codice di stato HTTP

Al fine di assicurarsi che il codice PHP venga interpretato correttamente, cambiamo l’estensione del file in .php al posto di .html. In questo modo, per il server web si tratterà di un classico file PHP.

L’ultimo passaggio prevede di inserire il collegamento al nostro file di errore nel file .htaccess.

In una riga vuota del file .htaccess bisognerà inserire il seguente codice:


ErrorDocument 404 /directory/404.php

Nel caso in cui non esista ancora un file .htaccess nella directory principale (root) dell’host web, è possibile crearlo facilmente.