Node.js 如何将facebook爬虫机器人重定向到其他网页?

Node.js 如何将facebook爬虫机器人重定向到其他网页?,node.js,facebook,reactjs,express,preact,Node.js,Facebook,Reactjs,Express,Preact,我已经开发了一个由PreactJS完成的小网站,它包含了主网站(PHP)的一些部分。众所周知,Facebook机器人无法在共享时抓取javascript预呈现内容。这就是为什么我想重定向为允许facebook机器人抓取主网站(PHP),同时在NodeJS/ExpressJS中共享PreactJS完成的网站链接,如下所示: app.use('/*', function(req, res){ if(req.headers['user-agent'] === 'facebookexternalhi

我已经开发了一个由PreactJS完成的小网站,它包含了主网站(PHP)的一些部分。众所周知,Facebook机器人无法在共享时抓取javascript预呈现内容。这就是为什么我想重定向为允许facebook机器人抓取主网站(PHP),同时在NodeJS/ExpressJS中共享PreactJS完成的网站链接,如下所示:

app.use('/*', function(req, res){
  if(req.headers['user-agent'] === 'facebookexternalhit/1.1') {

  }
});
如果用户像“我希望nodejs/express重定向”这样共享。有谁能告诉我在expressjs级别中如何做到这一点,如下所示:

app.use('/*', function(req, res){
  if(req.headers['user-agent'] === 'facebookexternalhit/1.1') {

  }
});

如果要将res.render()重定向到已创建的视图,可以使用res.render(),而不是重定向,我强烈建议代理该数据。否则,Facebook会认为你的URL也是普通用户的重定向

考虑这样一个模块,它使这变得简单。未经测试,但这应该让您开始:

app.use((req, res, next) => {
  if (
    !req.headers['user-agent'] ||
    !req.headers['user-agent'].startsWith('facebookexternalhit')
  ) {
    return next();
  }

  return proxy('main.mywebsite.com')(req, res);
});