MultiSiteインストールをHTTPからHTTPSに切り替える


11

URLをhttp://example.comに設定してMultiSiteをインストールしましたが、すべてのリクエストを強制的にHTTPS経由で送信したいので、URLをhttps://example.comに変更しようとしています。データベースを調べ、すべてのsiteurlおよびhome値をhttpsに更新しましたが、サイトはHTTPSにリダイレクトされるのではなく、HTTP経由でロードされます。

いくつかのhtaccessルールを設定できることは知っていますが、エラーが発生しやすくなります。通常のインストールでは、WordPressはすべてのリクエストをsiteurlおよびhome設定で定義された正規URLSに自動的にリダイレクトするため、MultiSiteもそうすることを想定しています。

回答:


2

サイトをSSLに設定するプラグインがあります。それらの1つを使用しないのはなぜですか?

そして、あなたはSSL証明書をインストールしていてアクティブですか?


私が見たすべてのプラグインは、サイト全体ではなく、HTTPSを使用するように特定のページを設定するためのものです。通常のWPインストールでは、サイト全体でHTTPSを使用する通常の方法は、siteurlおよびhome値を設定することです。利用できるものがあったとしても、構成値(セキュリティ、パフォーマンスなど)を設定するだけでプラグインを使用することが悪い考えである理由はいくつかあります。また、SSL証明書がまだであるかどうかは問題ではないと確信しています。WordPressは、正規URLが何であるかを決定するときにそれをチェックしません。
Ian Dunn

確かに、私はあなたがすでにそれを設定しているかどうか疑問に思っていました(多くの人が本当にSSLを使用したいのであればSSL証明書が必要であることを知らないため、Qです)。しばらく前にSSLで私のサイトを持っていることを思い出しました(特定のページだけでなく、サイト全体を望みどおりに)。コードを検索します。
Hiranthi

うーん..当時使用していたコードが見つかりませんでした。:しかし、私はこの発見したprosauce.org/blog/2010/08/...
Hiranthi

別の理由でBetter WP Securityをインストールしましたが、すべてのページ要求(前後)を強制的にSSL経由にするオプションがあることがわかりました。
Ian Dunn

1
最良の解決策は、プラグインIMHOを使用しないことです。これにより、各リクエストをプラグインで解析する必要がなくなります。
captainblack 2018

3

同じ問題が発生しました。WordPressマルチサイトでは、サイトドメインがHTTPかHTTPSかを定義するオプションや設定はありません。データベース内のすべての出現箇所を置き換えた後でも、サイト訪問者はHTTPSにリダイレクトされることなく、HTTPでサイトにアクセスしてナビゲートできます。

次の簡単な解決策がうまくいきましmod_rewriteた。WordPress固有の書き換えルールの直前に、このルールを.htaccessファイルに追加しました。

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

このルールは特定のドメインを定義していないため、WordPressマルチサイトのニーズに最適です。

私はこのルールを次のスレッドで見つけました:https : //stackoverflow.com/questions/4398951/force-ssl-https-using-htaccess-and-mod-rewrite


このタイプのソリューションは、プロトコルが均質化されたマルチサイトに最適です。マルチサイトネットワークにSSLサイトと非SSLサイトを混在させたい場合、状況は複雑になります。とても難しい。
CC

実際、私のコンテキストは、すべてのサイトを同時にSSLに切り替えたネットワークでした。
Manu

WordPress固有のルールの前に置くことで解決しました。ありがとう-この解決策を見つけるのにしばらく時間がかかりました。
bastelflp 2018年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.