中古ドメインを購入した時に、サブドメインへのバックリンクが付いている時があります。
サブドメインを追加しない場合、バックリンクからのアクセスは404ではなく、サイトそのものが表示されません。これは気持ち悪いです。
では、サブドメインを追加して301リダイレクトすればいいじゃないか、という話になります。
しかし、サブドメインを追加し、新しい公開ディレクトリを割り当て、.htaccess経由でリダイレクトという手順は、今回のケースはちょっと違うと思いました。
この記事では、サブドメインの余計なサイトを作らずに、サブドメインからサブドメイン無しにリダイレクトする手順をまとめています。
wwwサブドメインはどのように実現されているのか?
身近な例として、wwwありのドメインはどのような仕組みで実現されているのか調べていきます。
今回行いたいのは、wwwありドメインと同じ動きをする、別のサブドメインを設定することです。
wwwありのドメインはサブドメインなのか?
素朴な疑問として、wwwありのドメインはサブドメインなのでしょうか?
はい、wwwはサブドメインです。
サブドメインは、DNSレコードのCNAMEに登録されます。
wwwが使えるドメインでは、wwwに対するCNAMEレコード、もしくはAレコードがあるはずです。
コントロールパネルからサブドメインを追加すると、DNSレコードにCNAMEレコードが追加されると思います。
wwwありとなしのドメインで同じサイトが表示されるのはなぜ?
wwwありとwwwなしの公開ディレクトリ(ドキュメントルート)が同じだからです。
重要なのは、サブドメインごとにドキュメントルートの指定が必要だということです。
サブドメインとドキュメントルートの対応は、サブドメイン追加時に行われるので、CNAMEレコードだけ自前で追加してもドキュメントルートが正しくないのでサイトが表示されません。
サブドメインの公開ディレクトリはサブドメインなしと同じで問題ない?
問題ありません。
先ほど申し上げた通り、wwwはサブドメインであり、wwwありとなしはドキュメントルートが同じです。
このルールを使えば、サブドメインを追加しても新しくサイトはできず、同じドキュメントルートでサイトが公開できます。
wwwあり⇒wwwなしへの301リダイレクト
wwwあり⇒wwwなしへのリダイレクトは一般的に行われています。
同じドキュメントルートになるので、.htaccessは一つです。そのなかでサブドメインからサブドメインなしへリダイレクトを行うのが一般的です。
サブドメイン追加⇒リダイレクトまでの手順
わたしが使っているmixhostでサブドメイン追加からリダイレクトまでの手順をまとめます。
①サブドメインの追加
cPanelからサブドメインを追加します。
その時にドキュメントルートが勝手にサブドメイン名のディレクトリ名に設定されますので、手動で変更します。
ドキュメントルートは、サブドメイン無しと同じにします。
②SSL化を実施
サブドメインもSSL化が必要です。
cPanelからTSL/SSLステータス経由でAutoSSLを実行します。
③.htaccessで301リダイレクトを実施
hogehoge.comのサブドメインとして、ww25を追加した時の設定になります。もとからあるwwwをwwwなしにリダイレクトする記述に[OR]を追加したあと、同じように追加します。
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.hogehoge\.com$ [OR]
RewriteCond %{HTTP_HOST} ^ww25\.hogehoge\.com$
RewriteRule (.*) https://hogehoge.com/$1 [R=301,L]
</IfModule>
まとめ
中古ドメインにはサブドメインへのバックリンクがあるものが多いです。また、多くの場合は、変なサブドメインであったりします。
そのバックリンクを生かすためにサブドメインを追加する必要が出たら、今回の記事の内容は参考になると思います。