如何在 EJS 的每个页面上更改我的规范标签 url

How do I change my canonical tag url on every page in EJS

所以在我的 NodeJS 应用程序中,我想为每个页面更改规范的 link,但问题是我在 EJS 中制作了一个 header 组件并在每个页面中使用了它,这就是为什么如果我将 url 从 header 更改为整个站点。

好吧,我完全忘记了我在寻找答案。我确实找到了解决方案。
获取规范的方法。

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 %>" />
<% } %>

如果有帮助请告诉我!