【ワードプレスサイト】常時SSL化されたサイトでhttpでアクセスしてもhttpsへリダイレクトさせる設定【.htaccess】

【ワードプレスサイト】常時SSL化されたサイトでhttpでアクセスしてもhttpsへリダイレクトさせる設定【.htaccess】

常時SSL化は、ウェブサイト運営でやっておかなければならない設定です。
サーバーによっては、簡単に無料SSL証明書「Let’s Encrypt」(レッツエンクリプト)等を簡単に、ほぼワンクリックで設定可能になっているところも多くなっています。
今回は、すでにSSLの設定は終わっている状態で、httpでアクセスされた場合でもhttpsへリダイレクトさせる.htaccess(ドットエイチティーアクセス)の設定の備忘録。サイトはワードプレスで構築しているサイトという設定です。

.htaccessでリダイレクトの処理を追加する

ワードプレスの場合、ルートディレクトリにそのままファイルをインストールするのではなく、サブディレクトリを作ってインストールすることが多いです。
例えば、example.com/wordpress/ など

その際、ワードプレス管理画面の【設定】→【一般設定】でサイトアドレス(URL)をサブディレクトリ無しのurlに変更する。.htaccessやindex.phpをコピー、編集してルートディレクトリにアップロードなどの作業が必要になります。

ですので、すでにルートディレクトリに.htaccessがあるものとして…

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

を追加すればOK!

注意する点は、

# BEGIN WordPress  ~ # END WordPress

で囲われているワードプレスのリダイレクトルールがある。
RewriteRule . /index.php [L]などが設定されているので、その下(# END WordPress の下)に追加してしまうと、.htaccessの実行が終了してしまうようです。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTPS} !=on [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

こんな感じで追加しても、私は大丈夫でした。

参考にさせて頂いたサイト

Cherry Pie Web様

WordPressの常時SSL化では、.htaccessの順序に注意!

 

関連記事Related article

記事月別アーカイブ