電子書籍の厳選無料作品が豊富!

以下のように携帯キャリアごとに振り分け、3キャリア以外は
PCフォルダに振り分けるようにした場合ですが、PCフォルダの方で
i Phone 用に幅480pxで作成したページを配置すると
PCから http://mypage.net/ でアクセスしたユーザーにも
i Phone 用の幅480pxページを見せるようになってしまいますか?
i Phoneやスマートフォンの対処はどうされているんでしょうか?


<?php
$agent = $_SERVER['HTTP_USER_AGENT'];
if(preg_match("/^DoCoMo/i", $agent)){
header("Location: http://mypage.net/i/index.html");
exit;
}else if(preg_match("/^(J\-PHONE|Vodafone|MOT\-[CV]|SoftBank)/i", $agent)){
header("Location: http://mypage.net/s/index.html");
exit;
}else if(preg_match("/^KDDI\-/i", $agent) || preg_match("/UP\.Browser/i", $agent)){
header("Location: http://mypage.net/e/index.html");
exit;
}else{
header("Location: http://mypage.net/pc/index.html");
exit;
}
?>

A 回答 (2件)

<?php


$agent = $_SERVER['HTTP_USER_AGENT'];
if(preg_match("/^DoCoMo/i", $agent)){
header("Location: ​http://mypage.net/i/index.html");
exit;
}else if(preg_match("/^(J\-PHONE|Vodafone|MOT\-[CV]|SoftBank)/i", $agent)){
header("Location: ​http://mypage.net/s/index.html");
exit;
}else if(preg_match("/^KDDI\-/i", $agent) || preg_match("/UP\.Browser/i", $agent)){
header("Location: ​http://mypage.net/e/index.html");
exit;
}else if(preg_match("iPhoneやスマートフォン用の判定", $agent)){
header("Location: http://mypage.net/smt/index.html");
exit;
}else{
header("Location: ​http://mypage.net/pc/index.html");
exit;
}
?>
と判定すれば、PCサイトに影響は無いですが、そういうことではないですか?

>480で作ったサイトをフォルダに格納した場合、PCサイトはどういう影響が出るのかと疑問に思いました。
これは、スマートフォン用の処理を分けずに、pcフォルダにスマートフォン用に作成した横幅480pxで作成したWebページを置きたいということでしょうか?
それであれば現状では、「http://mypage.net/pc/index.html」とファイル名まで指定されてそこにリダイレクトするように作成されておりますので、480px用のページをpcフォルダに置いたとしても「index.html」を上書きしない限りは反映されません。

この回答への補足

>これは、スマートフォン用の処理を分けずに、pcフォルダにスマート
>フォン用に作成した横幅480pxで作成したWebページを置きたい
ということです。
>480px用のページをpcフォルダに置いたとしても「index.html」を上書
>きしない限りは反映されません。

ということはスマートフォンからだと480pxではなく、PCと同じ用にしか映らないということですか?
お手数掛けます。

補足日時:2009/07/27 00:04
    • good
    • 0

単純に、iPhoneで480pxで作成した別のHTMLがあるのであれば、


ご質問のサンプルコードに、iPhoneのユーザエージェントを判定する処理を加えて、/iphone/ディレクトリにでもLocationするようにすればよいのではないですか?

ちなみに、プログラムのサンプルコードでURLを記述する際は、「http://example.com」を使用すると決められているようなので、今後出来れば、URLのドメイン部分はexample.comとしてください。

この回答への補足

hogehoge78さん、敬称をうっかり外してしまいました。
大変失礼しました。お詫び申し上げます。

補足日時:2009/07/26 17:54
    • good
    • 0
この回答へのお礼

hogehoge78 おっしゃるとおりですね、ありがとうございます。
iPhoneで反映させたければ、のユーザエージェントを判定する処理を加えてやればいいんですね。
ただ、3キャリア以外の判定する処理を加えて、スマートフォン用に
480で作ったサイトをフォルダに格納した場合、PCサイトはどういう影響が出るのかと疑問に思いました。

お礼日時:2009/07/26 17:54

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!