私は私のWebサーバーとしてnginxを使用していて、私はhttpsを指すように設定ファイルを編集したので、私はhttpsにWordPress URL設定を変更し、また私のwp-configファイルにWordPress force ssl管理コードを追加しました" このウェブページにはリダイレクトループが含まれてい "
あなたは あなたのwp-config.phpに$_SERVER['HTTPS'] = 'on';
を追加しました ?
http://yoursite.com
からhttps://yoursite.com
に移行するには WP Migrate DB プラグインも使用する必要があります。
私は同様の問題を抱えていて、私のwp-config.php
に次のスニペットを追加しました。
/** SSL */
define('FORCE_SSL_ADMIN', true);
// in some setups HTTP_X_FORWARDED_PROTO might contain
// a comma-separated list e.g. http,https
// so check for https existence
if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false)
$_SERVER['HTTPS']='on';
提案されているように - コーデックスで 。これは、ロードバランサー(またはファイアウォール)の設定でSSLパススルーが有効になっている場合にのみ必要になります。つまり、TLS/SSL内でHTTP経由でサイトにアクセスすることはできますが、サーバーが受信する通信はHTTPのみです。そのためには、WordPressが$_SERVER
設定配列でHTTPSをon
に「設定」できるように、上記のヘッダが必要です。
私はまだコメント特権を持っていないので、この追加を別の答えとして投稿します。
wp-config.php
に以下を追加するためにエリアスによって提案された解決策は私のためにトリックをしました:
/** SSL */
define('FORCE_SSL_ADMIN', true);
// in some setups HTTP_X_FORWARDED_PROTO might contain
// a comma-separated list e.g. http,https
// so check for https existence
if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false)
$_SERVER['HTTPS']='on';
しかし、それが私のためにうまくいったのは、I このファイルの他のすべての の前に置いてください。
本のための別のバージョンは、ちょうどこれをwp-config.phpの一番上に加えるだけです
その理由は、ロードバランサや適切なhttps値を渡さないものがある可能性があるため、他の場所から取得してワードプレス用に偽造する必要があることです。
if ( (isset($_SERVER['HTTP_X_FORWARDED_PORT'] ) && ( '443' == $_SERVER['HTTP_X_FORWARDED_PORT'] ))
|| (isset($_SERVER['HTTP_CF_VISITOR']) && $_SERVER['HTTP_CF_VISITOR'] == '{"scheme":"https"}')) {
$_SERVER['HTTPS'] = 'on';
}
実は...私はこの問題を抱えていました、そして解決はとても簡単で恥ずかしいものでした。どういうわけか私のwp-adminフォルダが削除されたので、これと同じエラーメッセージが表示されることはありません。
何時間ものテストの後、私はこれを見て、ダウンロードして再度アップロードしたときには、いつものように動作しました。
それをみんな確認してください、それはそれほど単純であることができます。
5歳の質問...
OK、SSL証明書をインストールし、wp-cli.phar found here を使用してhttp
であったすべてのリンクをhttps
に変更した後、このエラーが発生しました。
私はさまざまな設定を試しましたが、これを設定しない限り、これを解決するものはありませんでした:
define('FORCE_SSL_ADMIN', true);
define('FORCE_SSL_LOGIN', true);
これに:
define('FORCE_SSL_ADMIN', false);
define('FORCE_SSL_LOGIN', false);
ログインページにアクセスできましたが、実際にはログインできませんでした。私は答え2を試しましたが、残念ながらそれも助けにはなりませんでした、次の変更を行うまで:
/** SSL */
define('FORCE_SSL_ADMIN', true);
// in some setups HTTP_X_FORWARDED_PROTO might contain
// a comma-separated list e.g. http,https
// so check for https existence
if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== true)
$_SERVER['HTTPS']='on';
何らかの理由で、私は理由がわからない-私は変更しなければならなかった
!== false
に
!== true
ホストとしてnginxを実行し、nginxユニットへのリバースプロキシを実行しています。