Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 动态生成facebook元数据_Php_Facebook_Facebook Opengraph - Fatal编程技术网

Php 动态生成facebook元数据

Php 动态生成facebook元数据,php,facebook,facebook-opengraph,Php,Facebook,Facebook Opengraph,我对类似facebook的按钮和og:meta标签有问题。我想做的是根据get参数为Facebook爬虫提供不同的内容 我的页面设计有一个登录页面和几个产品页面。当用户在产品页面上时,他们按下like按钮并喜欢登录页面。然后我想在用户脸书上显示四种不同的复制文本,这取决于他们喜欢哪种产品 当用户朋友点击facebook上的类似文章时,他们会被重定向到登录页,我希望生成一个通用的og:meta 我试过的是你在下面看到的,但没有运气 $refAddr = $_SERVER['HTTP_USER_AG

我对类似facebook的按钮和og:meta标签有问题。我想做的是根据get参数为Facebook爬虫提供不同的内容

我的页面设计有一个登录页面和几个产品页面。当用户在产品页面上时,他们按下like按钮并喜欢登录页面。然后我想在用户脸书上显示四种不同的复制文本,这取决于他们喜欢哪种产品

当用户朋友点击facebook上的类似文章时,他们会被重定向到登录页,我希望生成一个通用的og:meta

我试过的是你在下面看到的,但没有运气

$refAddr = $_SERVER['HTTP_USER_AGENT'];

if (preg_match('/facebookexternalhit/si',$refAddr)) { 
    if(isset($_GET['fb_ref'])) {
        if($_GET['fb_ref'] == "page1" || $_GET['fb_ref'] == "page2" || $_GET['fb_ref'] == "page3" || $_GET['fb_ref'] == "default") {
            $line = $_GET['fb_ref'];
        } else {
            $line = "default";
        }
    } else {
        $line = "default";
    }
} else {
    $line = "default";
}

我不认为facebook在抓取网页时发送“fb_ref”参数。此外,只需在用户代理中查找“facebookexternalhit”子字符串,即可在like按钮中硬编码fb_ref参数,并且d仍然不会返回我请求的内容。您到底想做什么?你想知道是否有人喜欢“第1页”而不是“第2页”?然后,只需将不同的url放在两个页面的“like”按钮中,在“page1”中放入url“”,在第二个页面中放入不同的url,然后facebook爬虫程序将只抓取不同的页面,您将很容易了解它。另外,你读过这篇文章吗: