モバイル Web サイトを作成していて、Facebook の「いいね」ボタンを配置しました。テスト バージョンについては、http://www.rwponline.nl/test/を参照してください。
Web サイトのルートには、ユーザーが /desktop/index.php または /mobile/index.php にリダイレクトされるかどうかを確認する PHP ファイルが含まれています。
テスト Web サイトでは、右下隅に「Verzenden」ボタン (オランダ語で共有) があります。クリックすると、ポップアップはhttp://www.rwponline.nl/desktop/を共有しようとしますが、新しい訪問者が常に適切な Web サイトにリダイレクトされるように、メイン ディレクトリ (www.rwponline.nl) を共有したいと思います。これは、いいねボタンのコードです。
<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/nl_NL/all.js#xfbml=1";fjs.parentNode.insertBefore(js, fjs);}(document, 'script', 'facebook-jssdk'));</script>
<div class="fb-like" data-href="http://www.rwponline.nl" data-send="true" data-layout="button_count" data-width="200" data-show-faces="false" data-colorscheme="dark" data-font="verdana"></div>
Facebook が OG メタタグを探していることはわかっているので、Web サイトのルートにあるこのリダイレクト PHP ファイルでは、リダイレクトを実行する前に必要なヘッダーを返しています。以下のコードを参照してください。
if($redirect = ($mobile_browser==true) ? $mobileredirect : $desktopredirect){
header('<meta property="og:title" content="RWP Audio & Lighting"/>');
header('<meta property="og:description" content="RWP Audio & Lighting weet van elk evenement een sfeervolle happening te maken!"/>');
header('<meta property="og:type" content="website"/>');
header('<meta property="og:image" content="http://www.rwponline.nl/test/images/icon150.png"/>');
header('<meta property="og:url" content="http://www.rwponline.nl"/>');
header('<meta property="og:site_name" content="RWP Audio & Lighting"/>');
header('<meta property="fb:admins" content="RWPOnline"/>');
header("HTTP/1.1 301 Moved Permanently");
header('Location: '.$redirect); // redirect to the right url for this device
exit;
HTTP ステータス コード (例: 200 または 204) を変更しようとしましたが、成功しませんでした。また、Facebook Developers ページ (http://developers.facebook.com/tools/debug/og/object?q=http%3A%2F%2Fwww.rwponline.nl%2Ftest%2F) でこれをテストしても、得られません。何が問題なのかの手がかり。誰でも私を助けることができますか?それとも私が見落としているものがありますか?ありがとう!