Bonjour à toutes et tous,
Lorsque je fais un appel à un document json en jquery, j'ai une erreur 404 sur le document, mais pourtant il renvoie bien la bonne réponse avec les données json structurées.
Lorsque je fais directement appel au fichier json dans un navigateur, j'ai le json qui s'affiche bien, mais en effet j'ai dans ma console f12 une erreur 404.
L'URL ne correspond pas à l'adresse physique réelle du document, puisque derrière le json se cache en réalité un document php (via url rewriting) qui renvoie les données structurées. Ce n'est pas un problème d'URL Rewriting je pense car la réponse est bien renvoyée, mais avec en plus un code 404…
Est-ce que OVH renvoie une en-tête http 404 pour tout document non physiquement présent?
J'ai tenté d'ajouter en première instruction dans mon fichier \http_response_code(200); mais la résultat est identique. J'ai tenté \header("HTTP/1.1 200 OK"); et c'est la même chose.
La seule solution que j'ai trouvé pour l'instant est de traiter le fichier json dans la fonction jquery fail() au lieu de la traiter dans le done(), mais je n'aime pas ça du tout, et en plus la console est polluée par les output des erreurs 404 qui cassent les groupement de log de type info.
je suis sur un hébergement mutualisé avec un ancien plan Pro2010.
Si quelqu'un a une idée, je vous en remercie d'avance.
Est-ce que OVH renvoie une en-tête http 404 pour tout document non physiquement présent?
Bonjour @LoanG1
En principe OUI 😉
Merci pour la réponse.
Comment est-ce que je peux faire dans ce cas, puisque même si le document n'est pas physiquement présent à cette adresse, le site ne devrait pas renvoyer un code http 404 vu que le contenu demandé est bien renvoyé?
Je me rends bien compte que c'est peut-être pour éviter du crawl inutile par les moteurs, mais je trouve que ce n'est pas sémantiquement correct de renvoyer un code qui correspond à une erreur, alors qu'il n'y a aucune erreur…
A tout hasard, tester en passant en mode développement.
Voir dans mon guide le paragraphe :
P2 - Erreur 500 - Environnement développement
https://www.wordetweb.com/word-et-web/WORDPRESS-guide-installation-de-WordPress-premier-domaine-chez-OVH-FR.htm#P2_-
Oui c'est en effet une bonne pratique.
Je suis déjà en mode développement, même si le site est en prod, car je continue constamment à le travailler.
Pour l'instant j'ai modifié la partie des lignes du temps, en utilisant des requêtes asynchrones comme on me l'a signalé dans une autre question que j'ai posé sur ce forum, et ça fonctionne, mais je suis obligé de traiter la réponse dans le fail() au lieu du done() et ça ne me va pas du tout… Donc je cherche encore comment faire pour que le site renvoie un code 200 au lieu d'un 404.
Oui c'est en effet une bonne pratique.
Je suis déjà en mode développement, même si le site est en prod, car je continue constamment à le travailler.
Pour l'instant je suis obligé de traiter la réponse dans le fail() au lieu du done() et ça ne me va pas du tout… Donc je cherche encore comment faire pour que le site renvoie un code 200 au lieu d'un 404.
Bonjour,
sinon vous avez un exemple concret avec un lien pour tester ?
Cordialement, janus57
Merci janus57, mais c'est réglé…
En fait un fichier inclus de Wordpress modifiait le comportement du site. Quand je le retire le status renvoyé est un 200.
Si un admin peut faire passer ce topic en "résolu" ce serait sympa car je ne vois pas comment le faire…
Merci