ホームページのディレクトリ(フォルダ)構造

レンタルサーバーでドメインを使ってホームページを作っていると、メインとサブドメインの両方を使うことがあります。この場合、どのようなフォルダ(ディレクトリ)構造が良いのか考えてみました。私はジャンル(カテゴリー)別にディレクトリーを分けています。

サブドメインを使わない場合のホームページのフォルダ構造

サーバーの写真

サーバーの設定で、メインドメインだけでサブドメインを使わない場合は、特に難しいことはありません。普通にホームページをサーバー上に作成するだけです。

ルートディレクトリにインデックスファイルを置いて、次のようにジャンル毎(カテゴリー毎)に ディレクトリ楽天 を作成します。またジャンル毎に画像ファイルを置くディレクトリを作成します。

このようにホームページを階層構造にすると、ファイル操作がやりやすくて便利です。ルートディレクトリに全てのファイルを置いている人はありませんか。

root/
  |-- index.htm
  |-- メインドメインのルートファイル
  |-- ジャンル1/
  |     |-- img/
  |     |    |-- 画像ファイル
  |     |-- index.htm
  |     |-- ジャンル1のファイル
  |-- ジャンル2/
        |-- img/
        |    |-- 画像ファイル
        |-- index.htm
        |-- ジャンル2のファイル

サブドメインとは

サブドメインとは、インターネット上にあるコンピュータやネットワークにつけられる識別子のことです。ドメイン名は、実在の住所のような階層構造になっていて、「国を識別するドメイン名」「組織を識別するドメイン名」「個々のサーバーを識別するドメイン名」等「.」で区切られて順番に並んでいます。このうちの、より小さな分類を識別するためのドメイン名をサブドメインといいます。

例えば、「www.yahoo.co.jp」では「co」は「jp」ドメインのサブドメインになっていて、「yahoo」は「co.jp」ドメインのサブドメインとなっていて、「www」は「yahoo.co.jp」ドメインのサブドメインとなっています。

後でサブドメインを追加する方法1(あまりお勧めできません)

メインドメインをサーバー上のルートに置いてサブドメインにはサブフォルダを作ってホームページを作成すると次のようになります。

ルートディレクトリには、サブドメインとジャンル(カテゴリー)毎のディレクトリに加えてメインドメインのルートファイルがあり、メインドメインでのファイルの管理がごちゃごちゃして非常に面倒になります。

root/
  |-- サブドメイン1/
  |-- サブドメイン2/
  |-- index.htm
  |-- メインドメインのルートファイル
  |-- ジャンル1/
  |     |-- img/
  |     |    |-- 画像ファイル
  |     |-- index.htm
  |     |-- ジャンル1のファイル
  |-- ジャンル2/
        |-- img/
        |    |-- 画像ファイル
        |-- index.htm
        |-- ジャンル2のファイル

後でサブドメインを追加する方法2

メインドメインの一部のファイルをサーバーのルートに置いて、その他のメインドメインのファイルはサブフォルダを作ってホームページを作成すると次のようになります。

ルートディレクトリには、サブドメインとジャンル(カテゴリー)毎のディレクトリとメインドメインのルートファイルの一部があるだけです。メインドメインの主なファイルはメインドメインのサブフォルダ以降にあり、ファイルの管理が少し楽になります。

しかし、この方法ではメインドメインのサブフォルダは無駄なフォルダになり、ホームページの階層が深くなり、SEO上好ましくありません。また、メインドメインの運用やFTPに工夫が必要です。

私のホームページは今までこのような構造になっていました。今回サーバーの不具合で、サーバーを移転させたので、ホームページの構造を見直すことにしました。(2009年2月)

root/
  |-- サブドメイン1/
  |-- サブドメイン2/
  |-- index.htm
  |-- メインドメインのルートファイルの一部
  |-- メインドメインのサブフォルダ/
        |-- メインドメインのルートファイルの残り
        |-- ジャンル1/
        |     |-- img/
        |     |    |-- 画像ファイル
        |     |-- index.htm
        |     |-- ジャンル1のファイル
        |-- ジャンル2/
              |-- img/
              |    |-- 画像ファイル
              |-- index.htm
              |-- ジャンル2のファイル

メインドメインをサブドメインとして運用する方法(推奨)

メインドメインをサブドメインとして運用する方法があります。サーバーのドメインの設定で、メインをblankにして、サブにメインドメインとサブドメインを設定します。このようにしてメインドメインのホームページを作成すると、他のサブドメインの事を全く気にすることなく、とてもすっきりして、下記のようになります。

root/
  |-- サブドメイン1/
  |-- サブドメイン2/
  |-- メインドメイン/
        |-- index.htm
        |-- メインドメインのルートファイル
        |-- ジャンル1/
        |     |-- img/
        |     |    |-- 画像ファイル
        |     |-- index.htm
        |     |-- ジャンル1のファイル
        |-- ジャンル2/
              |-- img/
              |    |-- 画像ファイル
              |-- index.htm
              |-- ジャンル2のファイル

このようにして「後でサブドメインを追加する方法2」から「メインドメインをサブドメインとして運用する方法」に変更すると、ホームページのアドレスの多くが変更になるので、htaccessファイルを使って301転送(永久移転)をする必要があります。そうしないとアクセス数が急減します。

「後でサブドメインを追加する方法2」のメインドメインのサブフォルダ名をabcとし、そのabcフォルダを削除した場合は、ドメインルートに置いたhtaccessファイルを次のように設定します。

redirect 301 /abc/ http://domain/

セキュリティ上、メインはblankにしない方が良い

レンタルサーバー(Xrea.com や Coreserver.jp)のドメインの設定画面で、メイン(Main)をblankにすると、レンタルサーバーのアドレスでも表示できます。このようにすると、サーバーの番号やIDが推定でわかってしまうので、セキュリティの問題があります。

そこで、メインをblankにしないで、メインの所に、使っていないサブドメインを設定しましょう。これなら、アドレスが全くわからないので、セキュリティの問題は発生しません。

FTPの設定でメインドメイン部分も別にする

レンタルサーバーのxrea.comやcoreserver.jpでは、サブドメインでFTPをメインとは別に設定できるので、メインドメインもサブドメインのように、FTPのパスワード等は独自なものにできて便利です。とても管理が楽になります。