Gestion des 404 avec RealURL
En essayant de mettre en place un page 404 pour une site simple sous TYPO3 (une seule arborescence), j’ai eu quelques petits soucis.
Je me suis pourtant appuyé sur des exemples très bien faits (Typo3journal, merci à lui d’ailleurs), mais quelques problèmes persistaient.
Ce billet va donc reprendre les différentes étapes et vérifications à effectuer lors de la mise en place d’une page 404.
—
1 - Il faut dans un premier temps créer une page 404 dans votre arborescence TYPO3.
Personnellement, je crée ma page 404 dans un dossier système « Pages spéciales ». J’applique ensuite l’option « Exclude from speaking URL: » au dossier.
L’URL finale de ma page 404 sera donc : http://www.monsiteweb.fr/404/ ou http://www.monsiteweb.fr/404.html en fonction de votre configuration RealURL.
—
2 - Il faut ensuite indiquer à TYPO3 que vous utilisez maintenant une page 404. Pour cela, il y a 2 façons de faire :
- Soit en passant par le module installation, dans la section « All Configuration », il faut renseigner le champ « [pageNotFound_handling] » avec l’URL de votre page 404. Dans mon cas, il s’agit de « /404/ ». Vous pouvez aussi vérifier le champ « [pageNotFound_handling_statheader]« , il doit être renseigné avec la valeur « HTTP/1.0 404 Not Found ».
- Soit en insérant directement la ligne « $TYPO3_CONF_VARS['FE']['pageNotFound_handling'] = ‘/404/’; » dans le fichier localconf.php de votre site si vous maitrisez bien ce fichier.
—
3 - Il faut maintenant vérifier votre configuration RealURL.
Cette étape est nécessaire pour le déclenchement des erreurs 404. Il faut indiquer à RealURL les cas où les URLs demandées ne sont pas correctes.
Pour cela, dans la section :
$TYPO3_CONF_VARS['EXTCONF']['realurl'] = array( // Default host '_DEFAULT' => array( // General configuration 'init' => array(
Il faut ces 2 lignes :
'appendMissingSlash' => 'ifNotFile', 'postVarSet_failureMode' => '',
La première signifie que si une page est demandée sans « / » au bout de l’URL, une erreur 404 est retournée, au lieu de rediriger vers l’accueil.
La seconde signifie qu’une erreur 404 est retournée si un mauvais nom de page est demandé.
ATTENTION à la casse pour ces configurations, une de mes erreurs venait de cela.
Je vous laisse découvrir les différents comportements des ces 2 lignes en testant par vous même. Voici la documentation correspondante.
—
4 - Si vous utilisez une authentification htaccess pour vos développements, un message d’erreur serveur va apparaître lors du déclenchement de la 404. Pas de panique, ré-essayez sans l’authentification htaccess, cela devrait fonctionner.
Si après toutes ces étapes vous n’arrivez toujours pas à mettre en place votre 404, n’hésitez pas à laisser un commentaire, j’essaierai de vous aider.