ホームページのサブドメインの同期について

レンタルサーバーでドメインを使ってホームページを作っていると、サブドメイン同士またはサブドメインとディレクトリを同期させて使うことがあります。また同期を解除したい場合がありますが、この同期の解除方法がわかりにくいものです

サブドメイン同士またはサブドメインとディレクトリの同期の目的

サーバーの写真

サブドメイン同士またはサブドメインと ディレクトリ楽天 の同期設定とは、サブドメイン同士またはサブドメインとディレクトリを共有してどちらかの中身を表示するのに使います。

同期先のサブドメイン名はショートカットリンクとなり、中身は存在せずに同期元を表示させます。転送とは違ってURLは呼び出されたURLのままとなります。

例えばabcd.jpとwww.abcd.jpをサブドメインに設定して、同期元をabcd.jpとし、同期先をwww.abcd.jpとすると、http://www.abcd.jpにアクセスしてもhttp://abcd.jpにアクセスしても同じページを表示させることができます。

これは転送設定でも同様な動作をさせることができます。つまり、http://www.abcd.jpにアクセスしてきたものをhttp://abcd.jpに転送することができます。

サブドメイン同士またはサブドメインとディレクトリの同期の解除

一度サブドメイン同士またはサブドメインとディレクトリの同期を設定した後、それをやめたいことがあります。しかし、同期の解除はなかなかうまくできないものです。

FFFTPで不用意に転送先の中身を削除してしまうと、転送元が全て削除されてしまうので、特に注意が必要です。私も色々試行錯誤しましたが結局うまくできませんでした。

サーバー側のファイルを全て削除して、改めてファイルの転送をしても、また転送先が自動的に作られてしまいます。ドメインウェブの設定を全て削除して1時間以上経過すれば可能かもしれません。しかし、この方法ではホームページが見られない時間が長過ぎます。

簡単で確実な方法での同期の解除

上記の方法以外に、サブドメイン同士またはサブドメインとディレクトリの同期の解除は簡単で確実な方法があります。それは次のようにCGIで設定する方法です。次のようなスクリプトをdel.cgiのような適当なCGIファイル名で、サーバーのルート(public_html)に保存します。スクリプトの中のフォルダ名は転送先のフォルダ(ディレクトリ)名とします。この例ではwww.abcd.jpにしています。

#!/usr/local/bin/php
<?
unlink('www.abcd.jp');
?>

次にサーバーに転送します。ファイルのパーミッション(属性)を700か705に設定します。そしてこのCGIファイルを起動してやります。どうです、うまく同期が解除できているはずです。このようにサーバーのファイルを操作する時はファイルのミラーリングダウンロードをしてから行なってください。ファイルが消えてからでは悔んでも遅すぎます。

サブドメインの同期はしないほうが良いでしょう

サブドメイン同士またはサブドメインとディレクトリを同期させると、同じ内容のページを別のアドレスでも公開することになります。

これをすると、検索エンジンやSEOでは不利となります。場合によっては検索から削除されることもあります。グーグルでは同じコンテンツを複数アドレスで公開しないようにすることを推奨しています。

サブドメインの同期の必要性

私はサブドメイン同士またはサブドメインとディレクトリを同期させる必要性は特に無いと思います。wwwの有無でどちらでもアクセス可能にするには、サブドメインで転送を設定すれば良いからです。むしろ間違ってファイルを消してしまう弊害の方が大きいと思います。