header("Location: 〜")の動作

人の作ったサイトを修正させられててガッツリはまった。


vodafoneV602SH/V603SHあたりで、header("Location: 〜")でリダイレクトさせようとしたらなんかおかしい。
携帯からのアクセスかPCからのアクセスかで振り分けるところなんだけど、
携帯だったらリダイレクト(そもそも携帯でリダイレクトってのも問題なんだけど)する仕様。
んで、実際こんな感じになってました。

<?php
// 省略

if ($is_mobile > 0) { // $is_mobileにはキャリアごとに1〜3の数字が入ると仮定
    header ('Location: http://www.example.com/');
}
?>

で、これだとアクセスエラーが起きる。headerのあとにexitを入れたら直ったんだけど、
入れないとまずいものなのかな。
もちろん個人的には入れてるし、これは人の書いたソースなんだけど。
ブラウザ依存の問題なのかなあ。端末によってそんなにブラウザの挙動違うのかな。
3Gだからとかではなくて、vodafone2.5Gのそこそこ新し目の端末かなあ。
つーか、社内にvodafone2.5Gの端末少なすぎ!


ま、でもとりあえずexitを入れていれば問題なさげ。今後はまずそこを気にしよう。