最速怪談選手権

携帯で携帯サイトを閲覧すると、なぜかPCサイトが表示されます。

お世話なります。素人ですので説明にいたらない点が多々あると思いますが、どうか宜しくお願いします。
タイトルが分かりずらくてすみません。どういったことかといいますと、携帯から直接アドレスをひくと自分の携帯サイトが表示されるのに、auのEZwebのau oneトップから自分の携帯サイトを検索し表示させますと、なぜか、自分のPCサイトに飛んでしまいます。
なぜでしょうか?

以下の記述のindex.phpで同じドメインで携帯へ飛ばしています。

<?php
/////////////////////////////////////////▼初期処理▼
//http://から始まるURLを指定
$docomo = "http://www.abc.com/m/index.html";//ドコモの場合
$au = "http://www.abc.com/m/index.html";//auの場合
$softbank = "http://www.abc.com/m/index.html";//ソフトバンクの場合
$msie = "http://www.abc.com/index.html";//IEの場合
$Netscape = "http://www.abc.com/index.html";//Netscapeの場合
$opera = "http://www.abc.com/index.html";//Operaの場合
$firefox = "http://www.abc.com/index.html";//Firefoxの場合
$pc = "http://www.abc.com/index.html";//上記機種以外
/////////////////////////////////////////▲初期処理終端▲
/////////////////////////////////////////▼携帯判別▼
if(isset($_SERVER['HTTP_USER_AGENT'])){
$user_agent = $_SERVER['HTTP_USER_AGENT'];
if(eregi("DoCoMo",$user_agent)){header("Location: $docomo");}
elseif(eregi("UP\.Browser",$user_agent)){header("Location: $au");}
elseif(eregi("J-PHONE",$user_agent)){header("Location: $softbank");}
elseif(eregi("Vodafone",$user_agent)){header("Location: $softbank");}
elseif(eregi("SoftBank",$user_agent)){header("Location: $softbank");}
elseif(eregi("J-EMULATOR",$user_agent)){header("Location: $softbank");}
elseif(eregi("MSIE",$user_agent)){header("Location: $msie");}
elseif(eregi("Netscape",$user_agent)){header("Location: $netscape");}
elseif(eregi("Opera",$user_agent)){header("Location: $opera");}
elseif(eregi("Firefox",$user_agent)){header("Location: $firefox");}
else{header("Location: $pc");}
}else{
print <<<END
<html><body>
HTTP_USER_AGENT Error<br /><br />
ユーザーエージェントが読み込めませんでした。<br />
</body></html>
END;
}
/////////////////////////////////////////▲携帯判別終端▲
?>

あと、なぜかindex.phpよりindex.htmlを先によんでしまうようなので、.htaccessで以下のように記述してindex.phpを先に読ませています。
DirectoryIndex index.php index.html

宜しくお願いします。

A 回答 (2件)

htaccessが使えるなら、振り分けはhtaccessで設定したほうが良いと思います。



RewriteEngine on
RewriteCond %{REQUEST_URI} !/m/
RewriteCond %{HTTP_USER_AGENT} ^DoCoMo [OR]
RewriteCond %{HTTP_USER_AGENT} ^KDDI [OR]
RewriteCond %{HTTP_USER_AGENT} ^SoftBank
RewriteRule ^(.*)$ /m/ [R=302,L]

携帯でアクセスした場合に http://www.abc.com/m/ に転送されます。

index.phpはいらないので削除。

参考URL:http://xn--u8jxb9ib9150b2px.jp/htaccess/rewritem …
    • good
    • 0
この回答へのお礼

早速試してみまして、スムーズに表示されるようになりました。
ありがとうございました。

お礼日時:2010/08/30 20:42

PEAR::Net_UserAgent_Mobileなどで処理してみては?



http://pear.php.net/package/Net_UserAgent_Mobile
    • good
    • 0
この回答へのお礼

参考になり大変助かりました。
ありがとうございました。

お礼日時:2010/08/30 20:41

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