问题
我有一个网络服务器,该服务器生成一个运行Angular的索引页面,该页面使用API调用来显示数据。
我也有由Angular API调用设置的元标记。
现在,如果我将我的网站发布在Facebook上,则不会初始化标签,因为Facebook scrawler不支持Javascript。
解决方案 检测Facebook用户代理服务器端,并使用API调用服务器端,指定将使用控制器操作的特定路由,该操作将返回已使用facebook所需的元数据初始化的索引页。
我尝试在Symfony路由器中使用read here中的condition
选项,但出现以下错误:
Resources/config/routing.yml"
contains unsupported keys for "bot_facebook_post": "condition"
这就是我的路线在yml中的样子:
bot_facebook_post:
pattern: /locations/{location}
condition: "request.headers.get('User-Agent') matches 'facebookexternalhit/1.1'"
defaults: {
_controller: Main:bot, slug: ""
}