管理画面の強制SSL化
# wp-config.php # LB (HTTP_X_FORWARDED_PROTO) 対応 if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') { $_SERVER['HTTPS'] = 'on'; } # 「WordPress を使うには Cookie を有効化する必要があります」などが表示されてしまうので define('FORCE_SSL_ADMIN', true);
ApacheのDirectroySlash (/dir -> /dir/ へ URL Rewriteする機能) がアホで、LB配下において X-Forwarded-Proto
を考慮してくれないので、
自前でRewriteする
- ssl – Convince Apache of the original client protocol – Stack Overflow
- redirect – Apache directory trailing slash issue behind https – Stack Overflow
# .htaccessとかへ放り込む RewriteEngine On RewriteCond %{HTTP:X-Forwarded-Proto} ^https$ RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^(.+[^/])$ https://%{HTTP_HOST}%{REQUEST_URI}/ [L,R=301]