スマホ用画面を作って出し分け

世に出してからもちょくちょくメンテナンスをしております。

この前、twitterのcolorageアカウントで、”公開しました”的なことを呟いてみたのですが、

ハッと気付いた。

だいたいtwitterってスマホで見てるわ私。

ということでスマホ用画面を作ることとしました。(安直)

このサイトは文字より画像メインでニュース性のあるものでもなし
スマホはいーやとスルーしてた次第です・・(汗

・・ということで、
ユーザーエージェントを呼んで画面を出し分けるのは
jsとか.htaccessとかいろいろやり方はあるけど
phpサイトなので何も考えずにphpで書く。

$_SERVER[‘HTTP_USER_AGENT’]
を使用します。


$ua = strtolower($_SERVER[‘HTTP_USER_AGENT’]);

if((stripos($ua,’iPhone’) !== false)or(stripos($ua,’Android’) !== false)) {
header(‘Location: sp/index.php’);
exit();
}

今回はiphoneとAndroidのみをspディレクトリ内の専用画面に飛ばしました。

それ以外にもUAにもwindowsフォンとかいろいろあります。

参考:
ユーザーエージェントによるスマートフォンの端末判別方法について
userAgent(ユーザーエージェント一覧)

そして、個人的にですが
スマートフォンでpc版が強制的に見れなくなっているのはなんかイヤなので
「PC版」リンクをつけました。

そこで思うのが、上記UAによる振り分けで、結局見れないのでは・・ということ。

そこで、リファラーを取得して、
/sp/内以外の画面からアクセスした場合
という条件を追加。

理論的に出し分ける対象者は、外部からのアクセスの人のみのはずだから。


$ua = strtolower($_SERVER[‘HTTP_USER_AGENT’]);
$x = $_SERVER[‘HTTP_REFERER’];
if(((stripos($ua,’iPhone’) !== false)or(stripos($ua,’Android’) !== false))and(stristr($x, ‘http://XX自分のドメインXX.jp) === FALSE)) {
header(‘Location: sp/index.php’);
exit();
}
—–

コメント

タイトルとURLをコピーしました