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

PHPによる、携帯サイトへのPCアクセス振り分けについて質問です。

とある携帯サイトを運営しておりますが、
最近PC用のページもサブドメインで作成いたしました。
そこで、携帯のページにPCからアクセスがあった際、
PC用ページの該当するページへ飛ばしたいと思います。

※PCがアクセスした際、PC用の「トップページ」へ飛ばすのではなく、
それぞれの対応するページに飛ばしたいと思っております。

なので.htaccessで全ファイルいっぺんに処理するのではなく、PHP構文を直接それぞれのページの頭に書いていきたいと思っております。


そこで、質問なのですが、

携帯用ページ http://example.com/abc.php へ携帯がアクセスすると、そのままサイトが表示される。

携帯用ページ http://example.com/abc.php へPCがアクセスすると、
http://pc.example.com/abc.php へリダイレクトされる。


のように、

携帯はリダイレクトせず、アクセスしたページをそのまま表示し、
PCのみPCのアドレスに飛ばすには、どのような構文をページの頭に書けばよろしいでしょうか。

PHPに強い方、宜しくお願いいたします。


●質問者: ysk331homme
●カテゴリ:ウェブ制作
✍キーワード:.htaccess pc PHP とある アクセス
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● k-tan2
●35ポイント

$agent = $_SERVER['HTTP_USER_AGENT'];

if(preg_match("/^DoCoMo/i", $agent)){

exit;

}else if(preg_match("/^(J-PHONE|Vodafone|MOT-[CV]|SoftBank)/i", $agent)){

exit;

}else if(preg_match("/^KDDI-/i", $agent) || preg_match("/UP.Browser/i", $agent)){

exit;

}else{

header("Location: http://pc.example.com/abc.php");

exit;

}

◎質問者からの返答

さっそくのご回答ありがとうございます!

やってみました。PCはうまくPCページへとリダイレクトされました。

しかし、なぜか携帯サイトが真っ白になり、何も表示されなくなりました。

当方のサイトは、phpを.htmlで使用するために.htaccessをいじっているんですが、

それとなにか関係がありますでしょうか?

それか、xhtmlで記述するためと、別用件のPHPファイルを呼び出すための下記の表記をヘッドに

記述しているのが関係していますでしょうか、

header("Content-type: application/xhtml+xml");

print '';

include_once '../../include/commons.php';

?>

質問ばかりで申し訳ありませんが、

宜しくお願いいたします。


2 ● あすか
●35ポイント

"abc.php" の冒頭に以下のように記述してください。

$agent = $_SERVER['HTTP_USER_AGENT'];
if ((preg_match("/^DoCoMo/i", $agent) == 0) &&
 (preg_match("/^(J-PHONE|Vodafone|MOT-[CV]|SoftBank)/i") == 0) &&
 (preg_match("/^KDDI-/i", $agent) == 0) &&
 (preg_match("/UP.Browser/i", $agent) == 0) {
 header("Location: http://pc.example.com/abc.php");
}

3 ● =NAOKI=
●10ポイント

http://pc.example.com/abc.php

一応PCページへとリダイレクトされます。しかし携帯サイトがなにも表示されなくなります。

関連質問


●質問をもっと探す●



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