PHPのsetcookieを使用してスマホとPCを判別します。
1.PCサイト側のPHPの記述
<?php $vmode = ""; if(isset($_GET['vmode'])) { //スマホサイト側からパラメータを受け取った場合 $vmode = $_GET['vmode']; setcookie("vmode", $vmode, null, "/"); //パラメータをクッキーにセット }else if(isset($_COOKIE['vmode'])){ $vmode = $_COOKIE['vmode']; } if($vmode != "pc" || $vmode == "") { $str_ua = "(iPhone|iPod|Android.*Mobile|BlackBerry)"; if(preg_match($str_ua, $_SERVER['HTTP_USER_AGENT']) != 0) { setcookie("vmode", "sp", null, "/"); header("Location: sp-site.php"); //スマホからのアクセスの場合はスマホページに切替え } } ?>
スマホからPCサイトに直接アクセスした場合は、スマホサイトに切替えを行い、パソコンからのアクセスの場合はそのままコンテンツを表示します。
スマホから切替えボタンクリックの(パラメータを受け取った)場合はクッキーに値を設定しPCサイト(コンテンツ)を表示させます。
2.PCサイト側のHTMLの記述
<a href="index.php?vmode=sp">>スマートフォンサイトに切り替える</a>
3.スマートフォンサイト側のHTMLの記述
<a href="index.php?vmode=pc">>PCサイトに切り替える</a>