WordPress(+welcart)の全体SSL化


X-Serverでの独自ドメインSSL無料サービスが始まってだいぶ経つので、そろそろと重い腰を上げ、管理しているサイトを片っ端からSSL化しようとしたのだが、2,3個目辺りで躓いてしまった。

とあるサイトでSSLを取得し、WP管理画面の[設定]->[一般]のURLをどちらも”http://”→”https://”に変更後、https://www.domain.comにアクセスしたところ、http://www~にリダイレクトされてしまった。

はて・・と思いながらhtaccsess等を見直したが、そんなアクションをする設定などどこにもない。
しかもトップページ以外のURLをhttps://~に変更するとリダイレクトは行われず、当然画像などのコンテンツはhttp://のため混在の警告は出る物の、接続は出来ており、しかしながらメニューなどの動的リンクははhttp:。

リンクを替えるだけで済むんじゃなかったのか・・?
googleで検索しても同様の問題で困ってる人が見つからない。
httpsにhttp->httpsにリダイレクトする設定をしたり、SSL化支援プラグインの導入を行ったところ、https -> httpのリダイレクトによるループが起こってしまった。

目に見えない設定が残っているのでは?とDBをダウンロードして内部に残るhttp://www.domain~記述を全部https://www.domain~に置き換えてみたところ、これは問題なく動いた。しかしそのサイトではwelcartでオンラインショップを運用しているのだが、DBをエクスポート->インポートすると購入履歴などがさっぱり消えてしまった。エクスポートの仕方がまずいのだろうが、どちらにせよ根本の解決にならないので却下。

結局再度検索に頼ったところ、やっととあるサイトが引っかかった。

「Welcartの「SSLを使用する」にチェックを入れてたことが原因でした。」
との記述。

確認するとやはりOnになっており、仕様を見ると、このオプションはあくまで通常サイトで必要な部分だけSSL化するのに使用されるのであって、全体をSSL化する場合は有効にしてはいけないものだそうだ。
それがトップをhttps://で見ようとすると「そこは必要ないでしょ!」とhttpに戻してくれていたらしい。

offにしたところ苦労したのが嘘のようにhttpsでつながった。
はあ・・あとはコンテンツを置き換えるだけだ。。