ウェブサイトでFacebookのコンテンツを共有するのに問題があります。「いいね」ボタンが実装されていますが、「いいね」をすると、Facebookプロファイルの画像に古い画像が表示されます(キャッシュされた画像)。そのウェブサイトにあるものはこのように機能します...毎日その日の女の子の新しい写真がありますが、URLは常に同じです(apacheによって書き直されています)。
Facebookのキャッシュを自動的かつ定期的に(新しい画像がサイトに設定されたときに)クリアする方法を見つける必要があります。
キャッシュを直接更新したいURLをfbdebugtool(lint)フォームに入れて「debug」を押すと、somobodyが私のWebサイトのコンテンツを気に入ったときに、キャッシュをクリアしてコンテンツを更新します。
しかし、問題は、キャッシュを自動的に更新しようとすると(phpスクリプトまたはcronジョブを介して)です。このようなものが機能しない:
wget http://developers.facebook.com/tools/debug/og/object?q=http://www.vecernji.hr/djevojka-dana
またはこのようにも機能しません:
curl http://developers.facebook.com/tools/debug/og/object?q=http://www.vecernji.hr/djevojka-dana
また、phpスクリプトが機能していません:
$url = "http://developers.facebook.com/tools/debug/og/object?q=http://www.vecernji.hr/djevojka-dana";
$useragent = "Opera/9.80 (X11; Linux x86_64; U; en) Presto/2.10.229 Version/11.60";
if ( $ch = curl_init( $url ) )
{
curl_setopt( $ch , CURLOPT_HEADER , 0 );
curl_setopt( $ch , CURLOPT_RETURNTRANSFER , true );
curl_setopt( $ch , CURLOPT_USERAGENT , $useragent );
$str_response = curl_exec( $ch );
if( curl_errno( $ch ) != 0 )
{
$message = 'Girl of the day - cURL exec error: ' . $ch;
error_log( $message );
}
curl_close( $ch );
}
else
{
$message = 'Girl of the day - cURL init with url: ' . $url . ' failed';
error_log( $message );
}
好きなコンテンツはURLにあります:
http://www.vecernji.hr/djevojka-dana および http://www.vecernji.hr/decko-dana
PHPスクリプト、wget、またはcurlを介してキャッシュを更新できない理由を誰かが知っていますが、指定されたURLをlintフォームに直接手動で入力し、送信ボタンを押すと、コンテンツが更新されますか?