プロが教える店舗&オフィスのセキュリティ対策術

今レンタルサーバーにひとつのドメインでディレクトリで区切る方法で複数サイトを持とうとしております。1つ目のサイト http://◯△□.com/ひとつめ/ ができたのですが、
http://◯△□.com/で入力しても http://◯△□.com/ひとつめ/と同じサイトが表示されてしまう状態です。
今はまだ良いのですが、ジャンルの違うふためのサイトを持った時に、閲覧者さまがURLのところでディレクトリを消していきhttp://◯△□.com/を見た時に ひとつめ のサイトが表示されてしまうのが嫌なのですが

この場合、ダミーのトップページ?画像?のようなものを表示させるなどの対処法はあるのでしょうか?

ちなみにホームページ制作ソフトで簡単にアップロードまでしたので詳しいhtmlの知識はないのですが、レンタルサーバー上で階層を除きフォルダやファイルの削除はできます。

現状はひとめのサイトが最上層にあるpublic_htmlのフォルダの中に作った「ひとつめ」のフォルダにサイド情報が入っております。

どのような役割があるのか今イチ理解しておりませんが、似たような質問の答えにでていたindex.htmlというファイルは最上層のイメージフォルダというところと、public_htmlのフォルダ内、さらにその下の「ひとつめ」のフォルダ内にも存在しています。

試しにイメージフォルダのindex.htmlを消してみましたが変化はありませんでした。
(元に戻した方が宜しいでしょうか?)

また、念のためふたつめのサイトのアップロードする時に置くフォルダの場所も確認しておきたいのですが、ひとつめと同様にpublic_html内に置けば良いという認識であっておりますでしょうか?

すべて制作ソフトで作れてしまうのは便利ですが、細かな修正やこういうちょっとした設定時に思いの他困るものだなと感じます。

よろしくお願いします。

A 回答 (2件)

ブラウザキャッシュが残っているため、本来は表示されないはずのページが表示されたり、過去のページが表示されたりするので混乱しているのだと思います。



 サーバーの動作は極めて単純です。例を挙げて説明すると、リンクなり、ブラウザのURL蘭にURLを記入して、HTTP要求ヘッダをつけてサーバーにファイルを要求します。
[例]
get /abc/efg/hij
と要求します。そのときに使用しているブラウザや使用言語、、扱えるファイル、リンク元のページなどなどの様々な情報も合わせて送信されます。

サーバーの処理
1) /abc/efg/hij のファイルを探します。
 1-1)あればそれを提供します。提供の方法はファイルごとに決められます。
  単にファイルを提供するか、処理して提供するかなど
  .htmlの拡張子ならtext/html という種類とあわせて
  .jpgなら、image/jpeg とか
 1-2)なければ、
  それがディレクトリだとみなして/hijというディレクトリの存在を確認します。
  1-2-1)ディレクトリが存在すると、そのディレクトリの設定を確認します。
   ★ディレクトリの一覧を表示する。(現在はあまり行われていない)
   ★INDEXファイルを探してそれを提供します。
    どのファイルをINDEXに指定するかは設定できます。たとえば
     index.html>index.htm>INDEX.HTML>index.cgi
   それが実行形式のプログラムなら、実行します。
   それもなければ、/hijをもサーバーの環境変数PATH_INFOに格納して
 2) /abc/efgについて同様の検索を行います。
   ★もし、そこにINDEXで指定してある実行ファイルがあれば、実行します。
    (このとき、PATH_INFOを使うかもしれません。)
  なければ、最後に
 3) /abcについて同様に・・
 4) それもなければ、
  INDEXで指定してあるファイル(index.htmlなど)を表示しますし、それが実行ファイルなら実行しますし、それすらなければ、/abc/efg/hijがないとして、指定されたエラーを返します。単に404のこともあれば、403のこともあります。
 →HTTP入門 ( http://www.tohoho-web.com/ex/http.htm#status )

 複雑怪奇ですが、よく読めば極めて単純な作業を繰り返しているだけです。(お馬鹿な機械なので(^^)
 /defというファイルやディレクトリが、存在しなくてもページが表示されることはあります。

 まあ、当面は必要ない知識ですので読み飛ばしてください。

 一般的には、トップディレクトリ--HTTPサーバーでのルート(根っこ)には、無難な、サブディレクトリへのリンクでも書いたHTMLをおいておくほうが良いです。画像ファイルを置いても良いですが
・INDEX--DIRECTORY_INDEXを設定しなければなりません・
・リンクの何もないのでユーザーが混乱します。

 また、メインになるサイトのトップページを置いても良いでしょう。


  
    • good
    • 0
この回答へのお礼

詳しく説明を書いてくださりありがとうございます!
safariは確かにキャッシュの情報が強いのか、firefoxより更新ボタンを押しても更新されないことがあるような気がします。
キャッシュを空にする、を選択してようやく画面が切り替わるのを確認できました。

htmlの話、一見ややこしく拒絶反応が出そうになりますが(笑)読んでいると引き出しを順に開いているような、そういう動作を文字列で行っている感じなんですね。自分が思っているよりは単純なところもあるのかなと思えました、それでも難しいですけどね。

えーと、みなさんのご指摘をもとに勘を頼りにいじくりまわしたところ、望んでいる結果が得られました!

http://◯△.com/に表示させたいページは(今回の目的では工事中マークが表示される一見意味のないページ)
公開設定のサブディレクトリを/public_html/ にして
URLはhttp://◯△.com/でアップロード。

ひとつめのサイトは
公開設定のサブディレクトリを/public_html/サイト1/ として
URLはhttp://◯△.com/サイト1/でアップロード。

同様にふたつめのサイトも
公開設定のサブディレクトリを/public_html/サイト2/ として
URLはhttp://◯△.com/サイト2/でアップロード。

これで大元は無意味なページとなり、サイト1、サイト2も分離させることができました。
しかしまだ頭ではうまく整理できていない感じですが…汗
public_htmlという大きい箱の中に大元の箱が入って、大元のなかにふたつ箱が入ってるイメージならわかるのですが
覗いてみると大きい箱の中にバラバラになった小物と箱がふたつある感じのように見えます。汗


まぁ結果オーライなのですが…謎です

お礼日時:2012/01/19 18:39

本来は別々に表示されます。


相当特殊な作り方をしなければ、同じになることはありません。

たとえば、まちがって、両方のフォルダに全く同じ物をアップロードしているとか、ありませんか?

この文章を読む限りでは「作り方かアップロードの仕方、サーバーの設定などの何かが間違っている」としか言えませんが、
たとえば、ダミーのページを作ってhttp://◯△□.com/に相当するフォルダにアップロードしてみるとどうでしょうか?
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます!
なるほど、なにかおかしなことになっているのですね。

さっそくサイト2のトップだけ作りアップロードするという実験をしてみました。
最初誤ってアップロード設定時にサーバーディレクトリを入力せずにアップしてしまいまして(最上層になるのでしょうか?)
結果的にはhttp://◯△□.com/だとhttp://◯△□.com/サイト1/が表示されウィンドーのタイトルだけがサイト2になるというおかしなことになってしまいました。

改めてサイト2をサイト1と同じ階層…/public_html/サイト2/ をサーバーディレクトリとして設定しアップロードしました。
今度はhttp://◯△□.com/とhttp://◯△□.com/サイト2/のふたつともサイト2を表示するようになり
サイト1に関しては狙い通りhttp://◯△□.com/サイト1/と入力した時のみ表示されるようになりました。

今度はhttp://◯△□.com/でサイト2が表示されなくなれば良いわけですよね。

念のためサイト3もpublic_htmlの中に作成してみましたら、http://◯△□.com/ではサイト2が表示される状態は変わらず
サイト3はサイト1と同様適正にディレクトリで分けて表示できることを確認しました。

原因はきっと以前にも公開設定の時にサーバーディレクトリを入力せずにアップロードしてしまったことがあるのかもしれなくて、そのまま最上層に変なファイルが残っているのかもしれないと思いました。
試しに最上層のよくわからないファイルを全て削除してみたところ、http://◯△□.com/では
「403 Forbidden このページへのアクセス権限がありません」と表示されるようになり
ディレクトリで区切って入力するとちゃんと複数サイトを管理できるようになりました!

ところで、逆に「403 Forbidden このページへのアクセス権限がありません」の表示されるhttp://◯△□.com/に
画像などを表示させたい場合はアップロードする際のサーバーディレクトリ設定をせず、最上層に画像ファイルを置くようにすれば良いのでしょうか?

お礼日時:2012/01/19 12:13

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!