我有一个简单的代码,我无法工作。我的网站是asaphot.com
,根据ID我有不同的图片,网址样本为http://asaphot.com/photos/14
。现在我的代码是:
<meta property="og:url" content="http://asaphot.com/photos/14" />
<meta property="og:type" content="website" />
<meta property="og:title" content="ASAPHOT" />
<meta property="og:description" content="Asaphot image" />
<meta property="og:image" content="{{ baseUrl() }}/assets/uploads/test.jpg" />
<div id="fb-root"></div>
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_GB/sdk.js#xfbml=1&version=v2.5&appId=696480183784974";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<div class="fb-share-button" data-href="http://asaphot.com/photos/14" data-layout="button_count"></div>
每当我点击分享时,我只会获得http://asaphot.com/login
,但获取的网址为http://asaphot.com/photos/14
的Canonical网址。
我在这里错过了什么吗?
答案 0 :(得分:1)
我认为您必须登录才能访问该页面。
当facebook解析您的网址时,会遇到登录页面。所以它要登录。
<强>解决方案:强>
分享到Facebook的网址不应该有任何登录信息。
无需登录即可共享内容。
修改强> 我认为这样做不安全,
但你可以试试这个,
$host = gethostbyaddr($_SERVER['REMOTE_ADDR']);
if (substr($host, (strlen($host)-13)) == 'facebook.com' ){
//set a variable in session.or set login
}