WebDesigner's Memorandumウェブデザイナーの備忘録

.htaccessを使って、httpからhttpsへリダイレクトする設定方法

.htaccessを使って、httpからhttpsへリダイレクトする設定方法
この記事の要約

下記のコードを.htaccessへ追加すれば全ページがリダイレクトされます。

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

ウェブサイトの公開時にhttpからhttpsからリダイレクトする設定が必要になることが多いので、設定方法についてまとめておきます。

全ページをリダイレクトしたい場合

.htaccessに下記の記述を追加すると、httpからhttpsへリダイレクトが適用されます。

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

すでに.htaccessが存在していて、他の記述がある場合はコードを追加して対応します。

.htaccessを配置する場所

.htaccessを配置する場所はサイトのルートでOKです(適用したいディレクトリに配置する)。
WordPressの場合は1番トップのindex.phpがある場所と同じディレクトリに配置します。

WordPressの場合は記述場所に注意

WordPressを使っている場合は、WordPressの設定がすでに.htaccessに記述されています。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

この記述の下に書いてしまうと、下層ページでリダイレクトが効かないケースがあったので、上に書くようにしています。
下に書いてもうまくいく場合はありますが、ちゃんとトップページとひと通りの下層ページもチェックして問題がないか確認するようにした方がよさそうです。

スニペットツールに設定しておく

サイトの公開時に必要になりますし、覚えておくものでもないと思うので、スニペットツールですぐペーストできるようにしておくと便利ですし、毎回調べる必要もなくなります。

スニペットは、AlfredのSnippets機能かDashをオススメしているので、まだスニペットツールを使っていない方は検討してください。

著者について

プロフィール画像

サイトウ マサカズ@31mskz10

1997年生まれ。2016年から専門学校でデザインについて勉強。卒業後は神戸の制作会社「N'sCreates」にウェブデザイナーとして入社。このブログでは自分の備忘録も兼ねて、ウェブに関する記事や制作環境を効率的に行うための記事を書いています。

Twitterをフォロー Facebookでいいね