はてなブログでのルートドメインアクセスをwwwへ転送するまで

はてなブログで独自ドメインの設定をする場合、なぜかサブドメインのURLで設定でなければならないらしい。 サブドメインなしのURLでアクセスすると、当然だがDNS設定していないためにページエラーになってしまう。

f:id:araemonz:20180805115730p:plain

そこでルートドメイン (http://101010.fun/) でもアクセス出来るようにしてみる。

イメージはこんなかんじだ。

f:id:araemonz:20180808134214p:plain

この場合、別途サーバーを用意しなければならないのだが、自分の場合はすでにサクラサーバーをレンタル済みである。また他のドメインで運用中なので、バーチャルホストとして追記することになる。ここではバーチャルホスト自体の詳細説明は省く。

調べながらやったのでなんだかんだ一時間くらいかかった。

これからやること

  • バーチャルホストに追記
  • .htaccessを作成
  • DNSサーバーの設定

サーバー側をいじる

どこか適当な所に101010.fun用のルートフォルダ(someWherePath)を作る。

mkdir someWherePath

所有者、パーミッションも適切に設定しておく。

バーチャルホストの設定ファイルを開いて以下のように追記。

<VirtualHost *:80>
        ServerName 101010.fun
        DocumentRoot someWherePath
</VirtualHost>

Apacheをreloadする。

.htaccessファイルを101010.funのルートフォルダにおく。

www有りのURLに統一するため以下のように設定した。

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

101010.funのAレコードをサクラサーバーのIPへ設定する

DNSサーバーはムームードメインを使用しているため以下のような設定になる

f:id:araemonz:20180805120122p:plain

しばらくすると問題なくwwwへ転送されるようになった。

DNSサーバーは1.1.1.1 を使っている。DNS設定変更の繁栄が早いためか、すぐに転送の確認ができた。

http://101010.fun

実は、これだとまだSSLでルートドメインアクセスした場合はアクセスできない。 https://101010.fun/ にアクセスするとオレオレ証明書エラーを吐いてしまう。

これを解決するにはLet's Encryptなどをサーバー側に設定する必要がある。しかしまぁ、アクセスされることもないと思うのでこの辺で妥協することにしよう。

Let's Encryptの設定は以前にこちらに書いたので参考に。

www.101010.fun