レンタルサーバーでサブドメイン(初期ドメイン)が自動付与される場合、
独自ドメインを取得すると、
当然、先のサブドメインと独自ドメインの両方でアクセスできる。
このままでも特に問題無いはずですが、
たまに、検索エンジンに独自ドメインが登録されず、
たまたま、サブドメインで上位表示されてしまい、
お手上げ状態のオーナーさんもいるようで、SEO効果はゼロとなります・・・
対処法としては、(後手の対処法も色々考えられますが)
初期設定時からサブドメインをアクセス拒否すれば問題は起きない。
- ルート(1)にフォルダを配置し、
独自ドメインをマッピングし、独自ドメインのルートディレクトリ(2)とする。
※ (2)独自ドメインのDir、(1)は(2)の上階層の初期ドメインのDirです。 - そのディレクトリ(2)内にファイル類を置く。
- .htaccessをルート(1)に置く
ErrorDocument 403 /error.cgi
ErrorDocument 404 /error.cgi
※ 良くある /404.cgi でも良いです(複合設定があれば両方置いても良いです) - error.cgiをルート(1)に置く
- .htaccessをディレクトリ(2)に置く
SetEnvIf Host "^www\.example\.com$" *****
SetEnvIf Host "^example\.com$" *****
order deny,allow
deny from all
allow from env=*****
ErrorDocument 403 /error.cgi
ErrorDocument 404 /error.cgi(ドメイン名、*****名は要変更)
- error.cgiをディレクトリ(2)に置く
- 【root directory】
/www ルートディレクトリ(初期ドメイン)(1)
├ .htaccess
├ error.cgi (404.cgi)
└ /ディレクトリ名(独自ドメイン)(2)
├ .htaccess
├ error.cgi (404.cgi)
└ 各ファイル類 - 各error.cgiは、パーミション[705]などに変更
- 各エラー確認
- ルート(1)のerror.cgiは、
- 一般的な「404 Not Found」で良いでしょう。
status code と REQUEST_URI を設定すれば、
サブドメインの存在をも無かった事にできます。
- ディレクトリ(2)のerror.cgiは、
- トップページのテンプレートを流用し、
オリジナルのエラーページを設定し、訪問者を正規URLへ誘導してあげる。
この時、各絶対パスを利用する事。
これも、status code と REQUEST_URI を設定すれば親切です。
今回の設定では、
初期のサブドメインでのアクセスは、偽デフォルトの404で返し、
ドメインの403と404は、オリジナルのerror.cgiで返すという事です。
CGIなので、ステータスコード:404で返す事が出来ます。
但し、後から独自ドメインを取得した場合は、
しばらくの間は、301にするべきですね。
コメント