「.htaccess」を修正すれば「常時SSL」「wwwの有無」を統一することができる

この記事は約3分で読めます。

sslwww200.jpg常時SSLかつwwwの有無を統一させるためには「.htaccess」を修正するのが定番である。
しかし、さくらインターネットは、SSLやwww有無の統一に関してサーバ側の挙動が特殊なこともあり、常時SSLに統一するリダイレクト処理は見合わせていた。ようやく重い腰をあげて試行錯誤しながら設定した。結果的に「常時SSLかつwww無し」に統一させることができた。その「.htaccess」の記述例を記録しておく。

以下の記述例はドメイン名が「dm2.co.jp」の場合なので、もしもこれを参考にして使う場合はドメイン名のところを変更すること。

常時SSLに統一

# BEGIN 常時SSL
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L] </IfModule>

www有りに統一

# BEGIN www有りに統一
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^dm2\.co\.jp
RewriteRule (.*) https://www.dm2.co.jp/$1 [R=301,L] </IfModule>

www無しに統一

# BEGIN 常時SSL
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.dm2\.co\.jp$
RewriteRule ^(.*)$ https://dm2.co.jp/$1 [R=301,L] </IfModule>

常時SSLかつwww無しに統一

# BEGIN 常時SSL www無しに統一
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.dm2\.co\.jp$
RewriteRule ^(.*)$ https://dm2.co.jp/$1 [R=301,L] RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L] </IfModule>

▼実際に修正した「.htaccess」の該当部分
htaccessimg.jpg

Movable Typeのテンプレートに設定する

「.htaccess」はテキストエディタで編集できる。当サイトはMovable Typeで構築されているので、「.htaccess」の内容をテンプレートに設定しておく。

htaccessmt6.jpg

この状態にしておけば、今後の追加編集もしやすくなる。

さくらインターネットのオンラインマニュアル
https://help.sakura.ad.jp/hc/ja

さくらインターネットの「.htaccess」記述カスタマイズ例
https://help.sakura.ad.jp/hc/ja/articles/206054622

上記のURLの内容を参考にした。