【WordPress】httpへのアクセスをhttpsにリダイレクトする

概要

せっかくSSL対応しても、httpにアクセスする人がいたら意味がない、
その人達のために自動でhttpsにリダイレクトするようにしましょう。

一般的なレンタルサーバーを使ってる場合

./volume/contents/.htaccessまたは/var/www/html/.htaccessの先頭に以下を追記
普通に検索して出ているコードだと、リダイレクトループで落ちます。
ロードバランサーを使っている場合は以下を使いましょう。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
</IfModule>

AWSやGCPなどを使っている場合(リダイレクトループで落ちる場合)

上の方法でリダイレクトループで落ちるようなら、こちらの方法を試しましょう。

ループの原因はおそらくこうなっています。
80へのアクセス→そのまま80のアクセスとして流す→.htaccessによって443にリダイレクト
→443へのアクセス→ロードバランサーが80のアクセスに変換して流す→以下ループ

/var/www/html/.htaccessの先頭に以下を追記
こちらの方法で環境構築したようであれば、./volume/contents/.htaccessに追記すれば大丈夫です。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !=https
RewriteRule ^/?(.*) https://%{HTTP_HOST}/$1 [R,L]
</IfModule>

コメント

タイトルとURLをコピーしました