web-dev-qa-db-ja.com

FORCE_SSL_ADMINが機能しない

なぜdefine('FORCE_SSL_ADMIN', true);が機能しないのでしょうか。

まったくエラーが発生しませんが、example.com/wp-adminへのhttpリクエストがhttpsにリダイレクトされません

1
bsmoo

それを考え出したところ...定義ステートメントの位置付けでした。

以下を/* That's all, stop editing! Happy blogging. */行の上に追加しました

define('FORCE_SSL_ADMIN', true);
define('FORCE_SSL_LOGIN', true);

ありがとうございます。

3
bsmoo

これは、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';
2
Suraj

私は特定のフォルダ、別名/ 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を介した管理 の詳細

0
italiansoda