PEAR::Net_URLを使っててコンストラクタに渡すURLが完全なURLでない場合(ドキュメントルート以下のパスだけ。/sample/index.phpとか。)環境変数のHTTP_HOSTから値をもってきて色々やって完全URLを作るみたいですが、ezwebでSSL領域から非SSL領域に移動するときに使用するとHTTP_HOSTにポート番号(443)がついてしまう。
ex) $_SERVER[HTTP_HOST] => www.example.com:443
これはezwebの仕様なのかこの場合のサーバの設定のせいなのか、ともかく非SSL領域なのに443ポートがついたURLが生成されてしまいアクセス出来ない。
つまり、
https://www.example.com/index.php から http://www.example.com/sample/index.phpに移動しようとして、Net_URLのコンストラクタにsample/index.phpって渡すとhttp://www.example.com:443/sample/index.phpにアクセスしてしまい表示されない(502エラー。Gatewayエラー?)
と、ここまで書いてプログラムを見直してみたけど、Net_URLは環境変数HTTPSでSSLか非SSLを判定しているようだ。
このサーバでは環境変数にHTTPSがないので非SSL領域に移動してしまいエラーになってるようだ。
むぅ。
とりあえずコンストラクタに渡すURLを完全URLに変更することで回避してみようかと思う。