ユーザーの Facebook ウォールにリンク付きのステータス更新を投稿するアプリがあります。ステータスのリンクをクリックすると、iPhone、iPod、iPad、または PC/Mac のいずれで表示しているかに基づいて、関連するページにリダイレクトする必要があります。
したがって、リンクページの私のphpコードは次のとおりです。
<?php
if(strstr($_SERVER['HTTP_USER_AGENT'],'iPod') || strstr($_SERVER['HTTP_USER_AGENT'],'iPhone')) {
header('Location: iphone app redirect...');
}
else if(strstr($_SERVER['HTTP_USER_AGENT'],'iPad')) {
header('Location: ipad app redirect...');
}
else {
header('Location: website link redirect');
}
?>
問題は、iPhone と Web サイトのリダイレクトは正しく検出されますが、iPad は検出されないことです。iPad の場合は、iPhone のリンクに移動します。
Facebookから来たことが正しく送信されないことを意味するかどうかわからなかったので、ユーザーエージェントの出力を確認しましたが、iPadでは次のように表示されます。
Mozilla/5.0 (iPad; CPU OS 7_0_2 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A501 Safari/9537.53
だから、strstr
きっと iPad を手にするべきなのだろうか?