こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

サイトが移動しました(301)が出てしまいます。

以下のようにキャリア判別しましたが、ドコモ(f706i)
でみるとサイトが移動しました(301)が出ます。
これはなんとかならないんでしょうか?

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

投稿日時 - 2009-08-02 09:03:30

QNo.5174987

すぐに回答ほしいです

質問者が選んだベストアンサー

以下のようにheader("Location: ...")の前に302レスポンスを送るとどうでしょうか。

header("HTTP/1.1 302 Found(Moved Temporary)");
header("Location: http://sample.com/i/index.html");

余談ですが、手元のドコモ端末では、header("Location: ...")だけで普通にリダイレクトします。機種(に搭載されているブラウザ)に依るところがありそうですね。

投稿日時 - 2009-08-03 08:08:03

お礼

UmJammerさん、返事遅れましてすみません。
解決しました。ありがとうございました。

投稿日時 - 2009-09-17 17:22:11

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問