Word pressで任意のページだけSSLにしたい場合。
SSLから通常のページ間のリンクがうまくいかない。
うまくいくようにするのに手間がかかる…と思っていたのですが、
プラグインで簡単に解決できました。
まずはサーバで共有SSLを設定。
例えば、ロリポップなら http://lolipop.jp/manual/user/ssl/
エックスサーバなら https://www.xserver.ne.jp/manual/man_server_ssl.php
上記のページに利用方法が載っています。
今回はエックスサーバを使った場合の説明です。
※(2017年追記)本記事は2014年のものです。2016年6月よりエックスサーバでは、無料独自SSLが提供されています。
—————————————————–
設定が完了すると、全ページに対して、SSL対応のURLが存在するようになります。
その中から例えば問い合わせページだけをSSLページとして使うとします。
(SSLのURLは、各サーバの説明を確認。https://〜で始まるURLです)
通常ページからSSLページへのリンクは必要な場所に直接URLを書き込むだけなので
問題ないと思います。例えば、外観>メニューでカスタムにして書き込むとか。
問題はSSLページから、他のページに行く際。
—————————————————–
SSL対応のページに行ってみるとわかりますが、今度はSSLページから普通のページに行こうとすると、
https://〜が付いていて、本来のページに行く事ができません。
トップページもSSLトップページに行ってしまうのです。
プラグインで動いている部分も同じくです。
さらにCSSも読み込むことができなくなっています。
CSSはSSL以外のところにあるので「安全ではない」と言われてしまいます。
最初はこれを解決するために、header.phpやプラグインに直接URLを書き込んだりしていたのですが…
—————————————————–
便利なプラグインを見つけました!「WordPress HTTPS」です。
http://wordpress.org/plugins/wordpress-https/
これをインストールして、有効化。左メニューに現れた「HTTPS」をクリック。
「SSL Host」にSSLのURLを入力
例:https://○○○-info.ssl-xserver.jp/
「Force SSL Exclusively」の□にチェックを入れる。
(これをしないと、他のページもみんなSSLページに行ってしまう。このチェックを入れると、httpにリダイレクトされる)
Save changeをクリック。
固定ページ・投稿記事の編集ページに行くと「HTTPS」という項目が出来ているので、
SSLとして使いたいページの「Secure post」にチェックを入れる。これでOK!
SSLページから他のページへのリンクが全て正しくなりました。cssやプラグインも。
外観>メニューも通常の固定ページの設定のままでOK。
ウィジェットなどで、直接絶対パスでURLを書き込む必要のあるところだけ、書き込みます。
※追加事項
Force SSL Administrationはログインぺージ・管理ページもSSLにしたい場合。
共用SSLで、この設定をしたら、おかしな事になったことがあります。