gpt4 book ai didi

node.js - 如何将 facebook 爬虫机器人重定向到另一个网页?

转载 作者:搜寻专家 更新时间:2023-10-31 23:58:31 24 4
gpt4 key购买 nike

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

如果用户正在分享,'https://www.mywebsite.com/category/trips/10 ' 我希望 nodejs/express 重定向 ' https://main.mywebsite.com/category/trips/10 '.谁能告诉我如何在 expressjs 级别中执行以下操作:

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

}
});

最佳答案

我强烈建议代理 该数据,而不是重定向。否则,Facebook 将假定您的 URL 也是普通用户的重定向。

考虑像 express-http-proxy 这样的模块,这使得这很简单。未经测试,但这应该可以帮助您入门:

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);
});

关于node.js - 如何将 facebook 爬虫机器人重定向到另一个网页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46440347/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com