エックスサーバー 常時SSL化・wwwありなし統一・index.html(php)ありなし統一

 
Xserverの公式サイトはこちらになります→レンタルサーバー エックスサーバー
当サイトはアフィリエイト広告を利用しています

エックスサーバー上で運営しているドメインに、無料独自SSLの設定を行いました。

ただ、無料独自SSLの設定をしただけだと、自動的に「https://~」のURLへ転送はされません。

http://~
https://~
のどちらでもアクセスできることになります。

これを統一する(常時SSL化)するには、「.htaccess編集」で次の記述を追加する必要があります。

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

そのドメインでは、wwwのあり・なしindex.html(php)のあり・なしも統一されていなかったので、「この際にやっちゃえ」と一気にやりました。

【wwwなしに統一】

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

【index.html(php)なしに統一】

RewriteEngine On
RewriteCond %{THE_REQUEST} ^.*/index.(html|php)
RewriteRule ^(.*)index.(html|php)$ https://%{HTTP_HOST}/$1 [R=301,L]

まとめると、こうです↓

RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^.*/index.(html|php)
RewriteRule ^(.*)index.(html|php)$ https://%{HTTP_HOST}/$1 [R=301,L]

自分はいくつもドメインを運営しているのですが、今後、全部やっていくことになるのかな・・・

※2019.7.24追記
「wwwなしに統一」のコードを、以前は以下のようにしていました。

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.●●●●●\.com$
RewriteRule ^(.*)$ https://●●●●●.com/$1 [R=301,L]

(●●●●● .com は自分のドメイン)

しかし、上記本文のように汎用的なソースでも出来るみたいでしたので、情報を更新いたしました。

タイトルとURLをコピーしました