J'utilise des constantes pour afficher mes titres de pages en différentes langues:PHP: un problème constant/pagetitle et facebook comme bouton
// lang.en.php
define(_PAGE_TITLE, "Pagetitle");
// lang.de.php
define(_PAGE_TITLE, "Seitentitel");
J'ai placé un bouton facebook comme sur cette page et tout fonctionne sauf pour une chose: Si je soumets le lien avec le bouton comme, le titre facebook apparaît comme ceci:
XY aime _PAGE_TITLE
le Constan t n'est pas remplacé par sa valeur dans facebook mais il est remplacé dans le code HTML. Est-ce que quelqu'un a une idée, pourquoi la constante n'est pas remplacée si facebook attrape la page de mon site?
Merci.
Edit: Tu viens juste que le bot facebook a l'en-tête HTTP_ACCEPT_LANGUAGE mis à l'anglais et il y avait un problème avec mon fichier de langue. Quoi qu'il en soit, je voudrais que le bot prenne la traduction allemande par défaut. Y at-il un moyen d'attraper le bot facebook et d'écraser les paramètres de langue pour cela?
Je vérifie comme ceci: $ lang = (substr ($ _ SERVER [ 'HTTP_ACCEPT_LANGUAGE'], 0, 2) == "de")? "de": "en"; Donc, il devrait revenir à l'anglais par défaut. – user276289
vous devriez confirmer que c'est. essayez de frapper votre site avec [curl] (http://curl.haxx.se/) (il y a aussi une [version php] (http://php.net/manual/fr/book.curl.php). Ou utilisez un proxy de développement comme [Charles Proxy] (http://www.charlesproxy.com/) pour simuler une demande entrante comme peut venir de facebook. Vous pourriez également avoir de la chance en examinant vos journaux de serveur Web pour trouver des demandes du serveur de Facebook, et voir ce qui est spécial au sujet de ces demandes. Le fait est que quelque chose de spécial à propos des requêtes automatisées de facebook entraîne l'exclusion de votre fichier de langue. – Lee