httpからhttpsへ301リダイレクトする方法

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://aaaa.com/$1 [R=301,L]

下層もリダイレクトし、同じファイルに転送する場合は

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

301リダイレクトとは

URL(ドメインも含む)が恒久的に変更された場合に用いられる転送処理のステータスコードです。この301リダイレクト以外に302リダイレクトがありますが、302リダイレクトは「一時的な転送」を表すものであり、意味が異なります。

seoなどで用いるのは301リダイレクトになり、以前の被リンクの属性やオーソリティーを維持しながらの転送になります。

301リダイレクトをしないとどうなるか?

変更前のURLへアクセスするとURLやドメインがなくなっている場合はエラーになります。また、URLやドメインがなくならずにそのままある場合は昔のまま表示されます。つまり転送が効いていない状況になります。

サイトのリニューアルやコンテンツ追加により、URLが変更になると301リダイレクトをお勧めします。そうでないとアクセスエラーが増えます。