サブドメインでも独自SSL無料!エックスサーバーの設定

当サイトをSSL化にしました。エックスサーバーでは無料で全ドメイン何個でも無期限でSSL(https)にできます。

今回はサブドメインの独自SSLもイケますよってお話です。

え、サブドメインもできるの?→できました。

当ドメインは、matometa.netです。サブドメインでwordpress.を使ってます。wordpress.matometa.netになります。

設定方法

サーバーパネル>SSL設定>独自SSL追加の設定

エックスサーバー独自SSLサブドメイン

ここで、既に使っているサブドメインも出てくるのでそれを設定するだけです。サーバーパネル上ではこれだけで数時間後にはSSLでアクセスできるようになります。

.htaccessの設定

今までhttpだったアクセスをhttpsに、301リダイレクトする方法です。httpでもhttpsでも両方でアクセスできるのをSSL側に統一します。サブドメイントップフォルダの.htaccessに下記を記述するだけで全てのURLがリダイレクトしてくれます。

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

トップレベルドメインの.htaccess

トップレベルドメイン(matometa.net)にある.htaccessも変更します。エックスサーバーはトップレベルドメイン内にディレクトリでサブドメインを付与するので、matometa.net/wordpress/でもアクセスできてしまいます。それをサブドメイン側だけに飛ぶようにするリダイレクトも入っているので、それをhttpからhttpsに変更しておきます。

Redirect 301 /wordpress https://wordpress.matometa.net

WordPress内の変更

WordPress>設定>一般

WordPress設定の一般

WordPressアドレス(URL)、サイトアドレス(URL)をhttpsに変更します。

httpからhttpsにリダイレクトしてくれるので忘れがちですが一般設定もしっかり変更します。/feedなどシステム的なURLもSSLになります。以後の内部リンクや画像がhttpsになってくれます。

内部リンク・画像を相対パスに

一般設定を変更しただけでは記事内のhttpがhttpsに自動的に変わることはありません。使うブラウザによってhttpsのサイトにhttpがあると「!」がアドレスバーに出ますし変更必須です。

MySQLをダウンロードしてエディタで開いて、相対パスに一気に置換して、MySQLを戻しました。強引なやり方なのでもっといい方法があるかも知れません。相対パスであれば、httpに、もし戻したとしても再度変更する必要はありません。

まとめ

独自ドメインだけではなく、サブドメインも無料でSSL設定できてしまうエックスサーバーってすごいな、お得だなって思います。

エックスサーバーを1つもレンタルしていないのであれば、間違いなくエックスサーバーは契約しておくべきですね。また、エックスサーバー使ってるけど独自SSL無料なんて他にないからメインサーバーにしよう!と思った方は、もう一つX10プランを増やすのもありですね。