基于User-Agent标头的URL重写

Bir*_*sky 5 url-rewriting firebase firebase-hosting google-cloud-functions

您可以通过仅将“开放图谱”元标记传递给搜寻器,而仅将内容本身传递给常规用户来优化内容。[资源]

我正在尝试识别Facebot(Facebook的抓取工具),以便为它提供meta标签。为此,我需要能够基于User-Agent标头进行重写。

我浏览了Firebase文档,但在我看来,我只能根据请求url进行重写。

我想到的另一种方法是确定在Firebase功能内提供哪些内容。但是我不知道如何index.html从firebase函数退回。

简而言之:您将如何使用Firebase生态系统将Open Graph标签仅提供给Facebot?

小智 1

对于仍在寻找解决方案的人:以下是我目前检查用户代理是否来自 facebook 的方法:

const agent = request.headers["user-agent"]

if (agent.toLowerCase().includes("facebook"))
    response.send(<payload>)
else
    response.redirect(<path-to-index.html>)
Run Code Online (Sandbox Code Playgroud)

request/变量response是通过 接收的变量functions.https.onRequest((request, response) => { ... })。有关更多信息,请查看Firebase 文档Express 文档