sslの設定などの説明は省略します。
/etc/httpd/conf/conf.d/rewrite.confを設定
今回は/etc/httpd/conf/conf.d
以下にリダイレクト処理だけを書く設定ファイルを用意しました。/etc/httpd/conf/httpd.conf
に直接書いても構いません (ただしモジュールのロードの後に書く必要があります。)
mod_rewriteの設定
<ifModule mod_rewrite.c>
RewriteEngine On
LogLevel alert rewrite:trace3
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
</ifModule>
RewriteRule
は書き換えのルール、
RewriteCond
はRewriteRule
を適用するかを判断するための条件です。今回はHTTPSがOffの場合、つまりhttp通信の場合にルールを適用させます。
※注意
RewriteLog, RewriteLogLevelの設定はapache2.4から削除されました。古い記事を参考にするとSyntaxErrorになりますので気をつけましょう。