且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

php重定向网址与og元标记(开放图)

更新时间:2023-11-27 18:32:46

由于 redirect.php 每次访问时重定向或/&执行它是不可能的,但是使用简单的如果语句,我们可以允许Facebook调试器读取页面OG元标签如下

Since redirect.php redirects whenever it's accessed or/& executed it would be impossible, but with a simple if statement we can allow Facebook Debugger to read the page OG meta tags as below

PHP

<?php
if (in_array($_SERVER['HTTP_USER_AGENT'], array(
  'facebookexternalhit/1.1 (+https://www.facebook.com/externalhit_uatext.php)',
  'facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)'
))) {
  header("HTTP/1.1 200 OK");
  print '<html prefix="og: http://ogp.me/ns#">
               <head>
                  <title>{title}</title>
                  <meta property="og:title" content="{OG Title}" />
                  <meta property="og:type" content="website" />
                  <meta property="og:url" content="http://example.com" />
                  <meta property="og:image" content="http://example.com/og_img.jpg" />
              </head>
        </html>';
}
else {
  // You're not Facebook agent '__' 
  header('Location: mypage.html?test');
}

请记住,这只适用于导致索引此页面的问题的Facebook bot在Google或Twitter上,所以建议您使用JavaScript location.href

Keep in mind this works only with Facebook bot which causes problems with indexing this page on Google or Twitter, so I suggest you using JavaScript location.href instead.

参考

  • How to recognize Facebook User-Agent