ハマリにハマった、このツボ。
<?php header(locaiont"https://www.sample.com/aaa/bbb.php");
たぶんこの書き方の方が推奨されてたような気がするんだけども、
実際問題、これをSSL有の環境において、auのケータイで見た場合
エラーにより(502)のエラーが出る。
しかしwebサーバー側には、全くエラーログは残らないし、
au以外の携帯端末、PCでは何も問題なし。
検索しても同じようなハメで悩んでる人は見つからないし、厄介なので対応不可といいたいところだけども、クライアント担当者とその上司がauケータイを使っていて、そう簡単に片付けるわけにもいかなかった。
auの公式サイトによると、古い端末(非win?)ではSSL通信をする際に、端末とau鯖間でau独自のssl暗号化をしているのだとか。
コレが原因かと思っていろいろ調べてた。
簡単なサンプルページを数枚作成して、リンクを貼ってその先で別なファイルにheaderで飛ばしてみたり
POSTしてまたheaderで飛ばしてみたり・・・・・。
んで出た結論としては、
header("location:~"); を使うときは相対パスで書け!
つまり
<?php header(locaiont"https://www.sample.com/aaa/bbb.php"); ?>
を
<?php header(location:"bbb.php");
という具合に相対パスで指定してやると、問題解決。