人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PCページと携帯ページのPHPによる振り分けについて質問です。
現在、PC用ページを ⇒ http://example.com/に設置し、
携帯用のページを ⇒ http://example.com/mobi/に設置したいと思っています。
そこで、PC用の各ページの頭に、直接PHPスクリプトを書いて、
携帯だけ、飛ばしてしまう。という方法がやりたいのですが。
-------------------
<?php
$agent = $_SERVER['HTTP_USER_AGENT'];
if(preg_match("/^DoCoMo/i", $agent)){
header("Location: http://example.com/mobi/");
exit;
}else if(preg_match("/^(J-PHONE|Vodafone|MOT-[CV]|SoftBank)/i", $agent)){
header("Location: http://example.com/mobi/");
exit;
}else if(preg_match("/^KDDI-/i", $agent) || preg_match("/UP.Browser/i", $agent)){
header("Location: http://example.com/mobi/");
exit;
}else{
header("Location: http://example.com/index.html");
exit;
}
-------------------
こうすると、無限リダイレクトにおちいってしまいました。
要は、http://example.com/index.html にアクセスしたとき、
PCはそのままこのページを閲覧できる。
携帯のみ http://example.com/mobi/index.html に飛ばす。
ということがやりたいです。
PHPに強い方、宜しくお願いいたします。

●質問者: ysk331homme
●カテゴリ:ウェブ制作
✍キーワード:CV DoCoMo EXIT J-PHONE KDDI
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● ぽけっとしすてむ
●35ポイント

まずは.htaccessの記述があれば、再度確認してください。

index.cgiやindex.phpをトップページにする方法

DirectoryIndex index.php index.html (以下、必要に応じて)

header("Location: http://example.com/mobi/");

この「header」部分は一行で記述です。

これで振り分けが可能でした。

◎質問者からの返答

解決致しました。

ありがとうございました!


2 ● tama213
●35ポイント

最後のelseの

>header("Location:http://example.com/index.html");

が必要ありません。削除すれば直ります。

これを削除しないと

http://example.com/index.htmlでPCにアクセスしたとき、

http://example.com/index.htmlにリダイレクトするので

無限ロープに陥ります。

◎質問者からの返答

解決致しました。

ありがとうございました!

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ