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 : Sélectionner tout - Visualiser dans une fenêtre à part
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