- ベストアンサー
1つのドメインで複数サイトを持つ時のトップ画面
- 複数のサイトを1つのドメインで管理する方法についての質問です。1つ目のサイトを作成した際に、トップ画面へのアクセス時に1つ目のサイトが表示されるようになってしまいました。複数のジャンルのサイトを運営する際にトップ画面に適切なコンテンツを表示させる方法はあるのでしょうか?
- レンタルサーバー上でフォルダやファイルを削除することはできますが、HTMLの詳しい知識はないため、具体的な方法は分かりません。トップ画面に表示させるダミーのコンテンツを作成することはできるのでしょうか?また、複数のサイトを作成する際に配置するフォルダについても教えていただけると助かります。
- 制作ソフトを使用して簡単にウェブサイトを作成することができますが、細かな修正や設定には苦労することもあります。質問者は制作ソフトを使用して1つ目のサイトを作成し、2つ目のサイトも作成する予定です。質問文中で触れられているindex.htmlというファイルの役割や配置場所についても教えていただけると幸いです。
- みんなの回答 (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を設定しなければなりません・ ・リンクの何もないのでユーザーが混乱します。 また、メインになるサイトのトップページを置いても良いでしょう。
その他の回答 (1)
- 神崎 渉瑠(@taloo)
- ベストアンサー率44% (1016/2280)
本来は別々に表示されます。 相当特殊な作り方をしなければ、同じになることはありません。 たとえば、まちがって、両方のフォルダに全く同じ物をアップロードしているとか、ありませんか? この文章を読む限りでは「作り方かアップロードの仕方、サーバーの設定などの何かが間違っている」としか言えませんが、 たとえば、ダミーのページを作ってhttp://◯△□.com/に相当するフォルダにアップロードしてみるとどうでしょうか?
お礼
ご回答ありがとうございます! なるほど、なにかおかしなことになっているのですね。 さっそくサイト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/に 画像などを表示させたい場合はアップロードする際のサーバーディレクトリ設定をせず、最上層に画像ファイルを置くようにすれば良いのでしょうか?
お礼
詳しく説明を書いてくださりありがとうございます! 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という大きい箱の中に大元の箱が入って、大元のなかにふたつ箱が入ってるイメージならわかるのですが 覗いてみると大きい箱の中にバラバラになった小物と箱がふたつある感じのように見えます。汗 まぁ結果オーライなのですが…謎です