【cakePHP】SSLと非SSLが共存するサイト

ひとつのサイトの中にSSLページと非SSLページを混ぜる場合は注意が必要です。

http://book.cakephp.org/2.0/ja/development/sessions.html
に書かれてあるように、session.cookie_secureをfalseにしないとcookieが継続できません。

SSLページから他のページに飛ぶときに、相対リンクだとやはりSSLのかかったページにとびます。暗号化通信を解除しようと思うとhttp://から始まる絶対リンクで書かないといけません。
これを相対リンクのままにして強制的にhttpかhttpsに振り分けるようにしたやり方も書いときます。

config/route.phpでsslディレクトリ以下へのアクセスはpssl/を省いたコントローラ・アクションにアクセスし、パラメータsslを入れるよう設定。

AppControllerでアクセスのたびに環境変数のHTTPSとパラメータsslを比べてリダイレクトし直しています。

 なにかコメントをどうぞ