【AWS】Wordpressをhttps化!リダイレクトがトップページにしか効かない…。
サーバはAWS(アマゾン)を使っていて、前方にあるロードバランサーでhttpsを終端して、webサーバはhttpのレスポンスを処理するという、定番の構成です。
このとき、webサーバの「.htaccess」に、こんな感じでリダイレクト設定を書きますよね?
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP:X-Forwarded-Proto} !=https RewriteRule ^/?(.*) https://%{HTTP_HOST}/$1 [R,L] </IfModule>
このリダイレクトがトップページでしか有効にならずにちょっと悩んでしまいました…。
原因は、上記の設定を書く位置が悪かったです。
リダイレクト設定は、他の設定よりも一番上側に書いたほうがいいですね。
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP:X-Forwarded-Proto} !=https RewriteRule ^/?(.*) https://%{HTTP_HOST}/$1 [R,L] </IfModule> <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule>
これでトップページ以外にも、ちゃんとリダイレクトが反映されます。
以上です!