Re: 特定ページのSSL対応

2012年3月4日 at 19:42

返信が遅くなり申し訳ございません。
やっと時間ができ、調査できたので報告いたします。
(concrete5は先日触り始めたばかりのど素人です。
 間違いや勘違い等ございましたら、厳しくご指摘願います)

concrete5は、BASE_URL以外のドメインでアクセスすると、
BASE_URLのドメインでリダイレクトする機能ついているようです。
なので、指示いただいたURLでSSLにアクセスすると、非SSLへリダイレクトされてしまいます。

そこで調べたとこと、
define('REDIRECT_TO_BASE_URL', false);
とすることでリダイレクトをオフにできることがわかりました。


ただ折角ついているリダイレクト機能をオフにするのはどうかと思ったので、
もう少し調べたところ、
BASE_URL_SSLで対応できるようになっていることがわかりました。

しかし、この機能はバグっているようです…。

参考:http://www.concrete5.org/community/forums/installation/redirect-problem-after-installation/


バグを修正(「Config::get('BASE_URL_SSL'」を「BASE_URL_SSL」に修正)
すれば動くようなのですが、更に問題が発覚しました。

さくらインターネットは「$_SERVER['HTTPS']」でSSLの判定ができないようです。

参考:http://www.usinezumi.com/blog/2009/07/08/3/


url_check.phpのバグの修正とさくらインターネットでなければ、
BASE_URL_SSLでスマートに対応できるようです。


私の場合はさくらを使用しなければならないので、
結局、REDIRECT_TO_BASE_URLの機能をオフにして対応することにしました…。


以上、よろしくお願い致します。