携帯で携帯サイトを閲覧すると、なぜかPCサイトが表示されます。
携帯で携帯サイトを閲覧すると、なぜか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
宜しくお願いします。
お礼
hogehoge78様 本件に対して、詳細な説明を記載して頂き有難う御座います。 内容に関しては了解しました。