Xrea系(Coreserver含む)でosCommerceを入れていたところ、configure.phpでURL関係を適切に記述しかつSSL設定をtrueにしても、SSL通信がエラーとなる件。アラート↓がバンバン出てきます
セキュリティで保護されていない接続へリダイレクトされようとしています。現在のサイトへ送信中の情報は、セキュリティで保護されていないサイトへ再送信される可能性があります。続行しますか?
その原因は、includes/application_top.phpの以下の部分と、
// set the type of request (secure or not)
. $request_type = (getenv('HTTPS') == 'on') ? 'SSL' : 'NONSSL';
Xrea系サーバのSSL通信方法と、各ページのheadにある以下の部分が関係しているようでした。
<base href="<?php echo (($request_type == 'SSL') ? HTTPS_SERVER : HTTP_SERVER) . DIR_WS_CATALOG; ?>">
osCommerceはSSL通信状態なのかどうか自動的に取得して、base要素内に値を出力するように作られていますが、どうやらXrea系の場合”サーバー自体はHTTPで通信されている”そうで、状態なを自動的に取得できていない様子。その結果、非SSLのままbaseの値が固定されてしまうようです。
いくら画像関係を相対パスで記述しても、OKとならないはずですな。
getenv('REMOTE_ADDR')でSSLなサーバのIPを調べて、if(ereg("^数字\.数字\.数字\.数字", getenv('REMOTE_ADDR')))という感じで、条件分岐を変えると良いみたい。なんとかなったよ

