所以在我的NodeJS应用程序中,我想更改每个页面的规范链接,但问题是我在EJS中制作了一个头部组件,并在每个页面中使用它,这就是为什么如果我从头部更改url,它会在整个站点范围内更改。
好吧,我完全忘记了我在寻找答案。我确实找到了解决方案。
获取规范的方法。
const getCanonicalUrl = (req) => {
return ('https://' + req.get('host') + req.originalUrl).replace('www.',
'').toLowerCase();
}
在您的路线描述中
router.get(`/${route.path}`, function (req, res) {
const canonicalURL = getCanonicalUrl(req);
.......
res.render(`${route.layout}`, {
canonicalURL,
});
});
在像这样的meta.ejs
模板中
<% if (typeof canonicalURL != "undefined") { %>
<link rel="canonical"
href="<%= canonicalURL %>" />
<% } %>
告诉我它是否有用!