なぜdefine('FORCE_SSL_ADMIN', true);
が機能しないのでしょうか。
まったくエラーが発生しませんが、example.com/wp-admin
へのhttp
リクエストがhttps
にリダイレクトされません
それを考え出したところ...定義ステートメントの位置付けでした。
以下を/* That's all, stop editing! Happy blogging. */
行の上に追加しました
define('FORCE_SSL_ADMIN', true);
define('FORCE_SSL_LOGIN', true);
ありがとうございます。
これは、WordPressがSSLを提供するリバースプロキシの背後でホストされている場合にも発生する可能性があります。
テーマのfunctions.phpに以下を貼り付けます。
define('FORCE_SSL_ADMIN', true);
// a comma-separated list e.g. http,https
if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false)
$_SERVER['HTTPS']='on';
私は特定のフォルダ、別名/ wp-admin /のためにhttpsにリクエストを書き換えるために.htaccessをセットアップすることさえするだろう。
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteCond %{REQUEST_URI} wp-admin
RewriteRule ^(.*)$ https://www.yourdomain.com/wp-admin/$1 [R,L]
また、FORCE_SSL_LOGIN
は4.0から廃止されたように見えますので、あなたの答えではLOGINとADMIN領域の面倒を見るべきFORCE_SSL_ADMIN
だけが必要です。
SSLを介した管理 の詳細