.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をオススメしているので、まだスニペットツールを使っていない方は検討してください。