Qu'est ce qu'il y a dans le log d'Apache au moment de ton erreur ? Aussi concernant le SEO et Angular, tu devrais tenter de jeter un oeil a https://prerender.io/ qui fonctionne tres bien.
Bonjour,
Please help me :D
J'ai conçu mon site sur AngularJS (grosse bêtise niveau SEO). Bref, j'utilise bien évidemment des routes pour la gestion de mes pages. Dans la partie front de mon app, j'utilise des fichiers PHP comme template, afin que le contenu soit lisible clairement par les Bots.
Pour ce faire, j'utilise ceci:
Du côté HTACCESS j'ai ceci:
Lorsque je charge ce route dans Chrome comme ceci:
Tout fonctionne bien. Mais dès que je charge la même page depuis Safari ou Firefox la j'obtiens une erreur 500
Avez-vous une idée du problème svp ? Je penses que cela vient du rewrite htaccess, mais incapable de comprendre pourquoi ça fonctionne sur Chrome et pas les autres.
Merci à vous.
4 réponses
Arf, t'as géré. Dans la pa(nic) j'ai carement zapé mes logs. Aie aie aie, je vais mal. C'était une erreur dans un require php.
Concernant prerender.io, ca fonctione, pas tant bien que ca... pour moi ;). Il attend bien le chargement du run de mon app (translate=OK), mais pas celui de mes requetes asynchrone $http executées à partir des ng-init de mes templates. T'as une idée la dessus ? Perso la seule solution trouvé (sur une machine Apache) c'est de charger le contenu de mes pages en PHP avant leur affichage. Comme ça pas trop de risque d'avoir des {{ ... }}. Mais c'est carrement chiant, je dois convertir tout mon code pour la partie Front (ouf ça représente 20%).
Merci encore.
A mon avis le probleme vient peut etre de tes ng-init et du fais que tu charges tes donnees a ce moment la de l'application. Plutot que de charger tes donnees via les ng-init, essai d'utiliser l'injection de dependance dans les routes a l'aide du resolve puis ensuite recuperer le tout dans ton controller qui lui transmettra ces donnees a la vue. C'est generalement ce que je fais et sa fonctionne.
Mais le probleme peut aussi venir de ton .htaccess, a voir.
J'ai testé les "resolve" côté routes, mais il semblerait que cela ne solution pas ce problème (chez moi). Je pense que mon code n'est pas forcement très optimisé. C'était ma première vraie app (front-end) sur AngularJS.
Les dependances type Factory avec des requêtes Ajax sont-elles chargées de manières Synchrone ?