JavaScript、PHP、htaccessでiPadを識別する方法
- April 14th, 2010
- Posted in 開発ツール・技術
- Write comment

これはメモしておこうかな。iPadからのアクセス振り分けに使えそうなコードスニペットもろもろですよ。
■ JavaScript
var isiPad = navigator.userAgent.match(/iPad/i) != null;
■ PHP
$isiPad = (bool) strpos($_SERVER['HTTP_USER_AGENT'],'iPad');
■ .htaccess
RewriteCond %{HTTP_USER_AGENT} ^.*iPad.*$
RewriteRule ^(.*)$ http://ipad.yourdomain.com [R=301]
ちなみにiPadのUserAgentはこんな感じらしいですな。
Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.10
元ネタはこちらね。あわせてどうぞ。
» iPad Detection Using JavaScript or PHP


‘iPad’ が user-agent の文字列の先頭に来ることがないなら問題ないかもしれませんが strpos はマッチしたときに 0 を返すことがあるので (boolにキャストするとfalseになる) こっちの方がいいかもです。
$isiPad = strpos($_SERVER['HTTP_USER_AGENT'], ‘iPad’) !== false ? true : false;
php > var_dump((bool)strpos(‘iPad Browser’, ‘iPad’));
bool(false)