なぜこれが機能しないのか、頭を悩ませています。
私が達成したいのは、Facebook などの特定の Web サイトから来た場合にのみ、自分の Web サイトのページへのアクセスを制限することです。
リンクは 1 つ以上の Facebook ページおよび/または私の個人プロファイルに投稿されるため、Facebook および/または投稿された他の「ページ」からのものである場合は、スクリプトを実行する必要があります。
たとえば、自分のリンクをwww.facebook.com/This_is_my_PAGEに投稿した場合、または自分の個人プロファイルwww.facebook.com/freds_personal_profileに投稿した場合、または誰かが私のリンクを Facebook で共有した場合、Facebook から来た人だけがページにアクセスできるようにします。ドメイン。
解決策を探しているときに以下のスクリプトを見つけましたが、問題のリンクにリダイレクトされるのではなく、エラー メッセージが表示されます。
$target_site = 'https://www.facebook.com/';
if (isset($_SERVER['HTTP_REFERER']) && preg_match("/$target_site/",$_SERVER['HTTP_REFERER'])) {
// do something with people from facebook.com
}
else {
// do something else with everyone else
echo "Sorry, viewable to Facebook fans only.";
}