PHP : erreur 404 en redirection permanente 301 !
Il existe plusieurs manières de traiter l’erreur 404. La méthode présentée dans ce billet me semble avoir l’avantage de la simplicité.
Modifier le fichier .htaccess
A la racine de votre site Web, ajoutez au fichier .htaccess la directive :
ErrorDocument 404 /error.php
Code du fichier error.php
Par défaut, l’instruction header(‘Location:…’); provoque une redirection temporaire 302. La paramètre true force à ce que la redirection soit de type du code indiqué dans le dernier paramètre. Pour forcer une redirection permanente vers la page d’accueil index.php de votre site, tapez le code suivant dans le fichier error.php à la racine de votre site.
<?php
header(‘Location: /index.php’,true,301);
exit;
?>
Références
- Liste des codes HTTP 1.1 via le W3C (RFC 2616) ou via Wikipédia
- ErrorDocument Directive / Documentation du serveur HTTP Apache version 2.4
- PHP : header