やったこと

webサービスを作るときに考えたことを垂れ流します

【AWS】Wordpressをhttps化!リダイレクトがトップページにしか効かない…。

先日ワードプレスのサイトを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>

これでトップページ以外にも、ちゃんとリダイレクトが反映されます。

以上です!