• 締切済み

スマートフォンサイトとPCサイトの切り替え方法

PCサイトとスマートフォンサイトをPHPを利用して、振り分けています。 それぞれファイルは別ファイルです。 PC:http://○○○/ スマホ:http://○○○/ip/ yahooやlivedoorのサイトにあるような、PC画面選択ボタン ※こんな感じのやつです。 <a href="~">PCサイト</a> | スマホサイト を付けて、PC画面かスマホ画面を選択出来るようにする具体的な方法を教えて下さい。 現在は下記PHPコードで振り分けています。 <?php $ua=$_SERVER["HTTP_USER_AGENT"]; if((strpos($ua,'iPhone')!==false)||(strpos($ua,'iPod')!==false)||(strpos($ua,'Android')!==false)) { header("Location: http://○○○/ip/"); } ?> よろしくお願い致します。

みんなの回答

  • bm_hiro
  • ベストアンサー率51% (200/388)
回答No.2

俺も これは ちょっとやんなきゃいけない事があって気にしてました。 ちなみに、自分でも まだ そんなにちゃんと調べたわけではないです。 正直、自信はないです。 とりあえず、Firefox の アドオンのFireMobileSimulatorっての使って yahooでの挙動を 見ての判断です。 多分、スマホでの最初のアクセスの時は 普通にuser_agent 見て、location(header)とかで、http://m.yahoo.co.jp/ に飛ばしてます。 あとはユーザーが スマホ版からPC版への切り替えのリンクを押した時に、セッションとかで切り替えているように見えます。 パソコン版のyahooを表示してても、スマホのuser_agentでのアクセスだと、下の方に 切り替えのリンクが付きます。 「表示:モバイル|パソコン」ってのが。 なので、user_agentを見た上で、セッションに持たせたフラグとかでも判断してるんじゃないかな?と思いました。 Andoridって 画面のサイズは大中小バラバラで スマホ用を表示するべきか、パソコン版を表示するべきか、user_agentだけからだと きっちり分けることができないんですよね。 なので、ユーザー自身に任せるしかないってのが現状みたいですね。

  • shimix
  • ベストアンサー率54% (865/1590)
回答No.1

何がわからないのかがわかりません(汗 >※こんな感じのやつです。 ><a href="~">PCサイト</a> | スマホサイト 単に、そういうanchor要素を書けばいいだけではないのでしょうか? >PC:http://○○○/ >スマホ:http://○○○/ip/ であれば <a href="http://○○○/">PCサイト</a> | <a href="http://○○○/ip/">スマホサイト</a> として選択してもらうだけです。

yotsuya33
質問者

補足

説明が下手で申し訳ございません。 > <a href="http://○○○/">PCサイト</a> | <a href="http://○○○/ip/">スマホサイト</a> ↑ 上記の記述のままだと、http://○○○/を選択してもスマホユーザーはhttp://○○○/ip/が転送表示されてます。 スマホサイトの転送設定は今のままで、PCサイト表示を切り替える方法を教えて下さい。 よろしくお願いいたします。

関連するQ&A