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




コードスニペットの管理方法や命名規則について
SourceTreeでマージ時に「fatal: You have not concluded your merge (MERGE_HEAD exists).」と表示される場合の対処法
JavaScriptのテンプレートリテラル内で条件分岐を行う方法
Vue.jsのv-forで生成した要素をクリックするたびに、classをトグルで付け外しする方法
npm install時に「cb() never called!」とエラーが表示されたときの解決法
Dart Sassを使う上で1番基本的なネストやアンパサンドの書き方|Dart Sass入門
gulpのwatch機能を使って、監視ファイルに変更があった時にタスクを実行する
EJSのincludeで別ファイルを読み込むときの画像パスを指定する方法
Nuxt.jsでVuexストア連携を行う方法|Nuxt.jsの基本
WordPressのデータを取得できるWP REST APIの使い方
iTerm2で「Use System Window Restoration Setting」を設定しているとアラートが表示されて機能しない
Google Chromeのサイト内検索(カスタム検索)機能を別のプロファイルに移行する方法
iPadで入力モードを切り替えずに数字や記号をすばやく入力する方法
iPhoneやiPadでYouTubeの再生速度を3倍速や4倍速にする方法
Keynoteで有効にしているはずのフォントが表示されない現象
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
AirPodsで片耳を外しても再生が止まらないようにする方法
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
1つのノートアプリにすべて集約するのをやめた理由|2025年時点のノートアプリの使い分け
Notionログイン時の「マジックリンク」「ログインコード」をやめて普通のパスワードを使う
AlfredでNotion内の検索ができるようになるワークフロー「Notion Search」
Gitで1行しか変更していないはずのに全行変更した判定になってしまう
Macでアプリごとに音量を調節できるアプリ「Background Music」
Macのターミナルでパスワード付きのZIPファイルを作成する方法
MacBook Proでディスプレイのサイズ調整をして作業スペースを広げる
SteerMouseの「自動移動」機能で保存ダイアログが表示されたら自動でデフォルトボタンへカーソルを移動させる
iPhoneでタッチが一切効かなくなった場合に強制再起動する方法