traitement erreur 404 en php
Bonjour,
J'ai un site web multilingue où je veux afficher une page personnalisée sur erreur 404.
Je le fais en ajoutant le code suivant à un fichier "error.php"
Code:
1 2 3 4
| if (($this->error->getCode()) == '404') {
header('Location: ./index.php?option=com_content&view=article&id=18');
exit;
} |
index.php?option=com_content&view=article&id=18 étant l'URL permettant d'accéder à la page 404 personnalisée
Si l'URL faux est du genre "http: //www.xxx.com/Adresse d'une page inconnue", l'affichage de la page 404 se fait correctement
Si l'URL faux est du genre "http: //www.xxx.com/en/Adresse d'une page inconnue" ("/en" étant dans ce cas pour la partie anglaise du site), l'affichage de la page 404 apparait sur la homepage parce que le code considère "http: //www.xxx.com/en" et non "http: //www.xxx.com" comme adresse de base du site.
Peut-on modifier le code php utilisé pour que, quelque soit la langue utilisée, le code considère "http: //www.xxx.com" comme adresse de base et appèle la page 404 avec l'URL "http: //www.xxx.com/index.php?option=com_content&view=article&id=18"?
Merci pour vos réponses