• 締切済み

Index.html表示しない!!

何度も、Webサーバを構築してるんですが、今回Webサーバ を建ててると、思わぬ事象が出てきたんです。 と、言うのはpublic_htmlの配下にindex.htmlをいつもどうり作ったのですが、http://192.168.123.102/~ユーザ名/でindex.htmlが表示されるはずなのですが、ページを表示できません、というエラーが出ちゃいます。 絶対パスでhttp://192.168.123.102/~ユーザ名/index.htmlで指定すると表示されるのですが、 httpd.confも見る限り、おかしくはないのんです。 どこがおかしいのか見当がつかず、苦しんでいます、どうかこの事象を解決できるかた、ご回答よろしくお願いします。

みんなの回答

  • neko_nya
  • ベストアンサー率16% (1/6)
回答No.6

telnet 192.168.123.102 80 GET /~ユーザ名 の結果はどうなりますか またブラウザの種類およびバージョンもわかったほうがよいかと思います 301に対するactionはブラウザに依存します

  • po-net
  • ベストアンサー率36% (172/477)
回答No.5

http://192.168.123.102/~ユーザ名の後ろに「/」をつけてやるとindex.htmlのページが表示されます。 >ex. http://192.168.123.102/~ユーザ名/ >いつもどうりのことをしているのになぜでしょう。 ひょっとして、それならば#4の方のおっしゃるように、「/」の問題じゃないですか? うる覚えなのですが、vi でファイルを編集するときって、 vi test.html vi test のときでは違うファイルとして生成されませんか? (生成されるのなら) もし生成されるのでしたら、それらのファイル名は、test.htmlとtestでしょうね。 では、コレをブラウザで見るとしたら? 前者は http://www.~.com/test.html となりますが、これが後者の場合だったら? http://www.~.com/test    ??? さて、これをPCはどのように判断するでしょうか。 testというディレクトリ? testというファイル? 同じところにtestというディレクトリがあるなら、どう動くのでしょう? 私はこの辺のことはよく分からないのですが、どうなんでしょうか。 詳しい方にお任せします。

noname#4320
noname#4320
回答No.4

/~ユーザ名 で表示されなくて、 /~ユーザ名/ では表示されるという問題ですね。 だとすると、元の質問は、タイプミスがありますよ。(笑) 私も同じ現象があったので、ちょっと調べました。 URLの後ろに、スラが入らないと、URL名前の解決がうまく出来ていないようなんです。IEで試すとよくわかりませんが、Netscapeだとよくわかります。ホストが見つからんとエラーが出ちゃいますから。 サーバのアクセスログを確認してみてはどうでしょう。 スラなしだと  "GET /~ユーザ名 HTTP/1.1" 301 321 "-" "Mozilla/4.0 うんぬん) スラありだと  "GET /~ユーザ名/ HTTP/1.1" 200 59 "-" "Mozilla/4.0 うんぬん これから私も調べますが、わかったら教えてください。

  • po-net
  • ベストアンサー率36% (172/477)
回答No.3

再びpo-netです。 >すいません、OSはRedHatLiux7.2です やっぱりOSが違いますね。 私はTurboLinux7Workstationです。 >DocumentRootもデフォルト設定なので問題ないと思います。 >DocumentRootはドメインまでの部分が指定された時に表示されるTOPページのパスの指定では?(ex.http://www.XXX.nethttp://192.168.123.102の時に表示されるパスの指定では)? >僕の場合はhttp://192.168.123.102/~ユーザ名のときなんですが? TurboLinuxに搭載されているApacheですと、 ServerName localhost と設定されています。 そちらでは ServerName 192.168.123.102 となっているのではないでしょうか? http://www.***.net のように表示させるのは、ココがそのように設定されているからではないでしょう。 (このことは少し自身ありません) また、 http://192.168.123.102/~ユーザ名/index.html というアドレスを入力によって、ご自分のページを表示できるのは、 <Directory /home/*/public_html> ・・・・・・・ </Directory> というところで、 /home/*/public_html にあるウェブファイルを読み込めるように設定されているからでしょう。 こちらのOSではこの部分がコメントアウト(#)されています。 本来はDocumentRootで指定しておいたディレクトリを見るのが基本です。 どちらにしても、Apacheが起動しているのかを調べる必要のほうが先です。 最初にも書きましたように、 http://192.168.123.102/ このように入力したとき、Apacheについてのページが表示されると思うのですが。 「あなたの予想に反して、このページが見えているでしょうか?」というページです。 コレが見えなければ、Apache自体が正常に起動していませんよ。 >DirectoryIndex に index.html が入っていないとか、違いますか。 それもありますね。 DirectoryIndex index.html index.htm index.shtml index.cgi index.php3 index.php と書きます。 これらは同時に検索しようとするのではなく、優先順位があります。 優先順位は、最初のファイルから順番に検索していきます。 状況に応じて入れ替えてください。

camion
質問者

補足

なんどもすいません http://192.168.123.102でTESTページは当然のように表示できています。(絶対パス指定してやるとどのページも表示ましますよ。http://192.168.123.102/~ユーザ名の時にTOPページ(index.html)を表示できないのですが!) 基本的にディストリビューションが違うだけでTurboもRedHatもさほど変わりはないのでは、僕ももう一台のPCにTurboの7.0入っています、httpd.confの内容はバージョンが一緒でリリースNO.が違うだけなので内容はほとんどと言っていいほど一緒では? なので、当然のことながらServerNameのlocalhostも一緒です。基本的にここはコメントアウトされています。 これは、URLがAliasによって設定されててWebサーバの真 の名前との不都合が生じてはいけない場合に使うんではないでしょうか DirectryIndexのレコードはデフォルトなのでindex.html当然書いてあります。 ~~~~~~~~~~~~~~~~~~~~~~~~~~ >http://192.168.123.102/~ユーザ名/index.html というアドレスを入力によって、ご自分のページを表示できるのは、 <Directory /home/*/public_html> ・・・・・・・ </Directory> というところで、 /home/*/public_html にあるウェブファイルを読み込めるように設定されているからでしょう。 こちらのOSではこの部分がコメントアウト(#)されています。 本来はDocumentRootで指定しておいたディレクトリを見るのが基本です。 ~~~~~~~~~~~~~~~~~~~~~~~~~~ この、コメントアウトしてある#をはずしての何も反映されないですよ。 これは、UserDirのレコードで指定してるので、公開することが出来るのでは?。 http://192.168.123.102/~ユーザ名の後ろに「/」をつけてやるとindex.htmlのページが表示されます。 ex. http://192.168.123.102/~ユーザ名/ いつもどうりのことをしているのになぜでしょう。 初歩的なことはすべてクリアしてるんですがね~ なぜでしょう?

noname#4320
noname#4320
回答No.2

httpd.confに間違いは無いということですが、どの程度修正されたのでしょうか? その提示があればよろしいかと思いますが。 DirectoryIndex に index.html が入っていないとか、違いますか。

  • po-net
  • ベストアンサー率36% (172/477)
回答No.1

まず、httpd.confということから、Apacheをお使いと思います。 Apacheをお使いならば、 http://localhost(192.168.~というやつでも可)/ と書いて、Apacheの画面が表示されますか? 表示されていなければ、Apacheの起動ができていないとか・・・。 まさか・・・ね。 また、public_htmlはどこにおいていますか? httpd.confでDocumentRootの設定があると思いますが、そこで指定したディレクトリ内に入れましたか? 一番基本的な場所ですが、設定を変えていないのでしたら表示可能かと。 あとは、public_htmlのアクセス権限とか。 ・・・とにかく、OSが分からないことには、ディレクトリ構成などが分かりませんから、これ以上は難しいですね。

camion
質問者

補足

すいません、OSはRedHatLiux7.2です パーミッションは777ですべて開放してます。 DocumentRootもデフォルト設定なので問題ないと思います。 DocumentRootはドメインまでの部分が指定された時に表示されるTOPページのパスの指定では?(ex.http://www.XXX.nethttp://192.168.123.102の時に表示されるパスの指定では)? 僕の場合はhttp://192.168.123.102/~ユーザ名のときなんですが? そして、index.htmlを/home/ユーザ/public_htmlにindex_htmlをおいてるんですがまちがってますか? よろしくお願いします。

関連するQ&A