angular - 在 Angular 4/5 中,是否可以只预呈现来自 Facebook 和 Twitter 爬虫的请求,而不是预呈现每个请求
问题描述
在 Angular 4/5 中,不是预呈现每个请求,而是可以只预呈现来自 Facebook 和 Twitter 爬虫的请求,即当用户在 Facebook 或 Twitter 上共享这些 URL 时。我在想我们是否可以使用反向代理来实现这样的事情,如果请求来自 Facebook 或 Twitter 机器人,那么我可以从预渲染 Angular 代码的不同环境中为它们提供服务。
我有一个无法缓存的动态网站,而且由于流量大,预渲染每个请求效率低下。
解决方案
好的,所以我找到了 2 个解决方案。
- Google、Facebook、Twitter 等爬虫有自己的用户代理,即
谷歌机器人 冰机器人 推特机器人 facebookexternalhit 联动机器人
因此,在 apache 或 nginx 中,我们可以编写条件以仅预渲染来自机器人的请求。
使用任何语言创建一个应用程序,以仅动态服务于 Angular 应用程序的 index.html 文件,您可以在运行时针对请求的 url 嵌入 og 元标记。
希望这个解决方案对某人有所帮助。
推荐阅读
- qt - qml Stackview:弹出另一个文件中的页面
- c++ - 给定一个大小为 N 的数组 S,检查是否可以将序列拆分为两个序列
- html - 在 div 内缩放 SVG
- python - 如何检查 Tensorflow1.X 中是否存在变量?
- c++ - RocksDB:抛出未处理的异常:读取访问冲突
- docker - 港口 - 内部服务器问题 - 代码 500 - 调整磁盘空间大小后
- c# - 有没有更好的方法将 dbcontext 添加到 Asp.core MVC 控制器?
- c++ - 如何用好无文档的模板类?
- php - Impossible to log in to Backoffice in PrestaShop 1.7.2.0
- react-native - 内置的 react 原生组件是纯的吗?