web-dev-qa-db-fra.com

Un lien interne non publié génère toujours un message 200 OK et Voir non trouvé

Je suis confronté à un problème vraiment étrange et je ne peux pas comprendre ce qui se passe ici. Un élément de menu interne (ajouté en cliquant sur "Article") n'a pas été publié et je m'attendais à ce que le 404 soit généré. Mais lorsque je clique sur le lien de la page, il génère la structure d'URL suivante (qui, je suppose, est le routeur Joomla qui tente de créer une URL).

/component/content/11-new-books/sci-fi/137-foundation-and-empire?Itemid=31

Et le contenu HTML de la page affichée est le suivant.

<html>
<head>
</head>
   <body>View not found [name, type, prefix]: 11new-books, html, contentView</body>
</html>

Que pourrait-il se passer ici pour ne même pas afficher la page d'erreur?

2
sifu

Essayez de cliquer sur "Reconstruire" dans le gestionnaire de menus. Le routeur sef n'est pas mis à jour automatiquement. Après avoir modifié les menus, vous devrez peut-être "reconstruire" les données pertinentes.

La raison pour laquelle 404 n'est pas générée est que le lien est routé vers com_content ou le gestionnaire de contenu. C'est ce qui se produit par défaut si un élément de menu pour aucun article ou catégorie n'est trouvé. Comme le lien est rompu, cela échoue, mais Joomla! donne un avis d'échec au lieu d'une erreur de serveur pour la simple raison qu'il n'a aucun moyen de savoir quelle erreur serait la bonne. Si une route échoue, elle a échoué.

Essentiellement des devinettes, évidemment.

3
Ville Niemi