アプリ版:「スタンプのみでお礼する」機能のリリースについて

教えてください
PCサイトのルートサーバーに以下のindex.phpを組み込みました。
<?php
//User Agent 取得
$ua = $_SERVER['HTTP_USER_AGENT'];
//Browser 判別
switch (true) {
case (substr_count($ua,"Mozilla")):
break;
case (substr_count($ua,"Opera")):
break;
default:
header("Location: http://mobile.abcdxxx.com/");
break;
}
?>
<html>
<head>
<title>PCです</title>
</head>
<body BgColor="#98FB98">
</body>
</html>
PCからアクセスした場合はHTMLが表示されますが、
携帯電話からアクセスした場合は
mobile.abcdxxx.com に飛びません。
PCサイトは
 www.abcdxxx.com
携帯サイトは
 mobile.abcd.com
です。
携帯電話で指定したurlは www.abcdxxx.com です
また、携帯電話で www.abcdxxx.com/index.php と
指定するとちゃんとmobile.abcd.comが表示されます
mobile.abcd.comにはindex.phpが組み込まれています。
よろしくお願いします

A 回答 (1件)

こんにちは。


スクリプトは一見正しそうですね。

補足要求ですが、携帯電話でPCサイトにアクセスした場合のWebサーバのアクセスログを見せてください。
レスポンスコードを3xx(たぶん302)で返していて、携帯電話のブラウザがそれを正しく処理しない場合、携帯電話側の仕様をよく確認する必要があります。
一方、200あるいは別のレスポンスコードを返している場合は質問のスクリプトに何らかの問題がありそうです。

あと、
header("Location: ​http://mobile.abcdxxx.com/");
の後はHTMLを出力しても意味が無いので、
exit;
を加えるか、出力制御関数で何も表示しないようにした方が良いかと思います。

この回答への補足

早速のご回答ありがとうございます。

まず、本文修正ですが
携帯サイトは
 mobile.abcdxxx.com
です。 おわかりだとは思いますが。

実は友人のサーバーで起きている事象の代理投稿です
当方もアクセスログを見ていない状況です。

もう少し調べてみます。

補足日時:2008/02/11 21:34
    • good
    • 0
この回答へのお礼

解決しました
サーバーにindex.htmlが残っており、metaタグでindex.php
に飛ばしていたのですが、タグの記述が正確ではなく携帯電話では
認識できなかったためでした。
intex.htmlを削除しました。

お礼日時:2008/02/16 05:09

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