※追記
- 本記事で紹介しているプラグイン「Admin SSL」は、2015年5月現在、最新のWPとの互換性が保証されていないため、使用をあまりおすすめしません。
- また、WordPressは2.6以降管理画面でのSSL通信がサポートされており、最近不具合が解消されつつあるようですので、以下のとおりWordPress本体の設定を変更されることをおすすめします。
管理画面での SSL 通信 – WordPress Codex 日本語版
神乃木製作所のWebサイトはWordpressで作っている。
このサイトは https://でアクセスしてもhttp://にリダイレクトされる一方、お問い合わせフォームはSSL専用なので、 http://でアクセスしてもhttps://に自動で直すようになっている。
このような設定を行うためには、Replace Domainというプラグインと、Admin SSLプラグインを使う。
Replace Domainのインストール
プラグインは上記ページからダウンロードできる。
プラグインをインストールして有効化後、「設定」→「ドメイン設定」から設定画面に移り、「プロトコル:http」「SSLのみ動作」をチェックする。
これで、https:// でアクセスした際、http://に強制的にリダイレクトされるようになる。変なページでhttps://が入ることがなくなる。
Admin SSLのインストール
上記ページ、若しくはWordpressのプラグイン画面からインストールを行う。
インストール後、「プラグイン」→「Admin SSL」に移り、一番上の「Secure my site with SSL」にチェックを入れ、「Additional URLs」にSSL化したいページのURLを入力する。
神乃木製作所ではお問い合わせページと管理画面をSSL化したいので、「contact」「wp-admin」と入れた。
後は一番下の部分の「HTTPS Detection」項目において、「HTTPS」「on」になっていることを確認する。
あとは「変更を保存」を押して終了。
プラグインをインストール後、画面が白くなった場合
Admin SSLをインストールして設定後に画面が白くなった場合は、たいていはSSL環境変数を設定していないことに起因する。
SSLでアクセスしたとき、環境変数「HTTPS」に「on」という変数が設定されるようにしよう。
ApacheであればSSLバーチャルホストの記述を開き、
setenv HTTPS on |
と入力する。
nginxであればServer部分の記述を開き、fastcgiのパラメータを以下のように追加する。
fastcgi_param HTTPS on; |
これで、SSLが必要な場所ではAdmin SSLが優先して動作してhttpsに、SSLが不要な箇所ではReplace Domainが動作してhttpに振り分けることができるようになった。
コメントを残す