如何更改EJS中每个页面上的规范标记url



所以在我的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 %>" />
<% } %>

告诉我它是否有用!

最新更新