2017-09-21 5 views
0

Je dois pointer mon tag og: url vers une page à plus longue durée de vie. J'écris mes vues dans un modèle de jade/carlin.Comment puis-je pointer facebook meta tag og: url vers un lien relatif à deux niveaux?

La balise pour la page en question devrait être:

meta(property="og:url" content="http://www.example.com/cat/tabby/tagNumber/59c27/../..") 

ce qui équivaut à

meta(property="og:url" content="http://www.example.com/cat/tabby") 

Mais mes pages sont dynamiques, et je ne sais pas la meilleure façon de spécifier l'URL . Je veux vraiment être en mesure de faire quelque chose comme propre:

meta(property="og:url" content="./../..") 

Mais cela est faux selon la spécification OG, et ignora par le robot facebook.

est-il un moyen de faire quelque chose comme ceci:

meta(property="og:url" content= thisVarURL +"/../..") 

Sans modifier mes fonctions de contrôleur pour envoyer une variable URL pour moi.

Répondre

0

Je ne crois pas qu'il existe une manière automatisée de le faire, mais vous pouvez certainement passer une variable d'environnement thisVarURL à chaque vue, et lui assigner la valeur de l'URL. Si vous voulez une façon plus élégante de le faire, je suggère de combiner l'approche de middleware décrite dans this question avec la récupération de l'URL d'une demande à travers l'extrait donné en this question.

Aucune idée si cela fonctionne, mais il pourrait ressembler à ceci:

app.use(function locals(req, res, next) { 
    res.locals.thisVarURL = req.protocol + '://' + req.get('host') + req.originalUrl; 
    next(); 
});