【コピペ用】さくらで常時SSL化する時の.htaccessの内容

さくらインターネットのレンタルサーバで、独自ドメインを使ってサイトを運用しているときは、無料で常時SSL化することができます。ドメインに依存せず汎用的に使える書き方があるので、備忘録(コピペ用)として記事にしておきます。

前提条件

まずは前提条件の確認。

  1. サイトがWordpressであれば、「さくらのレンタルサーバ 簡単SSL化プラグイン」が便利なのでそれを使う。(だからこの記事でやってる作業は不要)
  2. さくらインターネットのレンタルサーバを借りている。
  3. 独自ドメインを取得している。
  4. レンタルサーバに独自ドメインを割り当てている。
  5. 有料SSLまたは無料SSLを申し込んで設定が完了している。
  6. https://~でアクセスしてみて、SSLで問題なくサイトが利用できるか確認済み。

.htaccessファイルの作成について

windowsの場合は、「.htaccess」など、「.(ドット)」から始まるファイル名は作れません。なので、まずは「htaccess.txt」など普通のテキストファイルとして作成し、アップロード後に名前を変更します。

.htaccessファイルの内容

結論から言うとさくらインターネットの場合は、この書き方でドメインに依存せず、HTTPでアクセスがあったらHTTPSに転送されます。

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{ENV:HTTPS} !on
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>

URLの正規化(wwwあり)を追加した場合

# URL正規化(wwwあり)
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule (.*) https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>

# HTTPSがonじゃなければHTTPSに転送
<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteCond %{ENV:HTTPS} !on
  RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>

ドメインにwwwが付いていなかった場合、www付きに転送する例です。

質問・コメントなどあると嬉しいです