Apache2の設定で、公開ディレクトリ以下にある指定したディレクトリを、ルートディレクトリに見せかける方法を教えていただけないでしょうか?

・公開ディレクトリを/www/
・ドメインをhogehoge.com
・ディレクトリ構成が以下の場合
/www/site1/site2/ ←(指定するディレクトリ)
/www/site3/
/www/index.html


http://hogehoge.comにアクセスすると、index.htmlではなく、/www/site1/site2/index.htmlを表示させるようにしたいです。
しかしその場合でも、http://hogehoge.com/site3にアクセスした場合は/www/site3を表示させたいです。

つまり、ディレクトリ構成を変更すること無く、ドメインのルートだけは指定したディレクトリ以下を表示させる方法を教えていただけないでしょうか。

マシン情報
ubuntu 8.04
Apace2.28

回答の条件
  • 1人2回まで
  • 登録:2008/12/26 17:53:06
  • 終了:2009/01/02 17:55:02

回答(3件)

id:goodvn No.1

goodvn回答回数228ベストアンサー獲得回数182008/12/26 18:07:07

ポイント27pt

/www/site1/site2 を移動(例えば,/www_data/site1/site2 など)

/www/site3 を移動(/www_data/site3)

/www_data/site1/site2 -> /www/site1/site2 のシンボリックリンク

/www_data/site1/site2 -> /www のシンボリックリンク

/www_data/site3 -> /www/site3 のシンボリックリンク

これでどうですか?

id:lifla

ディレクトリ構成を変更したくありません

2008/12/26 19:53:19
id:tezcello No.2

tezcello回答回数460ベストアンサー獲得回数692008/12/26 21:20:22

ポイント27pt

DocumentRoot を /www/site1/site2/ にして(見せかけるのでは無く本当にこのディレクトリにしてしまう)

mod_rewrite を使って http://hogehoge.com/site3 へのアクセスは /www/site2/ に書き換える

(または、/www/site1/site2/site3 -> /www/site3 へのシンボリックリンク)

ってのはいかがでしょう?


あぁ、そうか。

DocumentRoot は、/www/ のままにしておいて、mod_rewrite で存在しないファイルやディレクトリへのアクセスは /www/site1/site2/ へ書き換えやってもいいかもしれませんね。

id:lifla

ありがとうございます

2008/12/28 19:22:53
id:goodvn No.3

goodvn回答回数228ベストアンサー獲得回数182008/12/26 23:31:14

ポイント26pt

それが無理なら,site1/site2 に,../../site3 -> site3 のシンボリックリンクを張って,DocumentRoot を変更するしかないですね

id:lifla

ありがとうございます

2008/12/28 19:22:55

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません