header("Location: 〜")の動作
人の作ったサイトを修正させられててガッツリはまった。
vodafoneのV602SH/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を入れていれば問題なさげ。今後はまずそこを気にしよう。