• 締切済み

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

  • httpアクセスでNot Found

    自宅サーバをREDHAT 9.0からFC4にUPしました。そしたら、/home/(ユーザ名)/public_html/配下のindex.htmが http://マシン名/~(ユーザ名)/index.htm でNOT FOUNDになります。/var/www/html/の方に移すとhttp://マシン名/index.htmで、うまくいきます。httpd.confは 「Userdir public_html」を生かす様に直しました。REDHAT 9.0の時はこの修正でうまくいったのですが、同じようにしたのにうまくいきません。REDHAT9.0とFC4でhttpd.confの修正の仕方が変わったのでしょうか。どなたかご教授ください。 

  • ~user を表示できない

    RedHat8.0+Apache2.43でウェブサーバーを立てたんですが、トップページは普通に表示できるのにユーザーのページが表示できません。/etc/httpd/conf/httpd.confでは <IfModule mod_userdir.c> # UserDir "disable" UserDir public_html </IfModule> としてあります。ユーザー(taro)のディレクトリのパーミッションは [root@aurora public_html]# pwd /home/taro/public_html [root@aurora public_html]# la 合計 16 drwxr-xr-x 2 taro users 4096 1月 31 16:36 . drwxr-xr-x 23 taro users 4096 5月 30 17:35 .. -rw-r--r-- 1 taro users 2936 1月 31 16:36 TokyoTime.class -rw-r--r-- 1 taro users 53 1月 31 16:36 index.html [root@aurora public_html]# です。 ユーザーのページを見れるようにするにはどうしたらいいでしょう?

  • RedHat7.2 一般ユーザーのWEBを公開したい

    Apacheを使ってWEBを公開しようと思い、 本を参考にしながら設定してたのですが、行き詰まってしまいました。 http://****** とするとちゃんとindex.htmlが見れるのですが、 例えば***という一般ユーザーで、 /home/***/public_htmlを作成し、 その中にindex.htmlを入れ、 http://******/~** としたのですが、見ることができませんでした。 そこで過去の質問を参考にしながら、 httpd.confを設定しました。 すると、 http://******/~*** では見ることができないのですが、 http://******/~***/index.html とするとページを見ることができました。 本を見る限りでは、 http://******/~*** とするだけで見れると思うのですが、 これはどこを設定すれば良いのでしょうか?

  • index.html.varって何ですか?

    index.html.varって何ですか? httpサーバーの設定ファイル httpd.confの DirectoryIndexのデフォルトとして index.htmlとindex.html.varが指定されています。 index.htmlは分かるとして、index.html.varが何か分かりません。

  • httpd.confのDirectoryIndexを記述しても、DocumentRoot直下のindex.htmlが表示されない

    初歩的な質問でしたら、申し訳ありません。。。 Apacheを勉強し始めの初心者です。 Apache2.2をローカル(windowsXP)にインストールし、httpd.confの設定を、以下のようにしました。 -------------------------------------- DocumentRoot "E:/web" <Directory /> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory> <Directory "E:/web"> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory> <IfModule dir_module> DirectoryIndex index.html </IfModule> -------------------------------------- ブラウザにて、「http://local/」にアクセスしても、index.htmlが表示されず、HTTP400のエラーが返ってきてしまいます。 (E:/web配下には、index.htmlが確実に存在します。。) なのですが、E:/web/test 配下に、E:/web直下と同じindex.htmlを置き、「http://local/test/」にアクセスすると、正常にindex.htmlが表示されます。 httpd.confに、VirtualHostの設定はしていません。 色々と調査し、試行錯誤してみたのですが、理由がわからずにいます。。。 DocumentRoot直下は、DirectoryIndexと関係ないのでしょうか?? 初歩的な質問でしたら、誠に申し訳ありません。。 また、初心者のため、情報が足りない事があるかもしれません。 その時は、がっつりご指摘ください。 環境: Apache2.2 Tomcat5.5

  • DirectoryIndex に index.phpと書くと、index.htmlより先に表示される?

    DirectoryIndex に  DirectoryIndex index.html index.php と記述すると、順番的に、index.htmlがなかったらindex.phpが表示されるというようになると思うのですが、どうも、index.phpが先に表示されているようです。。 といいますか、index.phpが表示されているのではなく、phpファイルを開こうとするとダウンロードの画面が表示されてしまうのです。 いろいろと調べていったら、この症状が出たのに気づいたので、解決のきっかけになればと思いまして。 これは、httpd.confのどこを書き間違えるとこのようなことになるのでしょうか。

  • htmlファイルが表示できません

    初歩的なことかもしれませんが教えてください。 Webサーバーをたてて、mrtgディレクトリ以下ののhtmlファイルを見ようとしてhttp://192.168.1.3/mrtg/*のファイルにアクセスするのですが、forbiddenといわれてしまいます。 You don't have permission to access /mrtg/index.html on this server. Apache/2.0.52 (CentOS) Server at 192.168.1.3 Port 80 You don't have permission to access /mrtg/127.0.0.1_2.html on this server. /var/www/html/mrtg以下のパーミッションはすべて777で 所有者は一般ユーザーに変えました。 でもコピーをして/var/www/html/index.htmlとかにもってきてhttp://192.168.1.3/index.htmlでアクセスすると表示されます。 httpd.confでは特に制限はかけていません。 httpdは起動しています。 あとどのあたりを疑えばよいでしょうか?

  • (FC5)Apacheの設定に関して

    httpd.confの public_htmlを有効にして /home/USER_NAME/public_html にあるファイルを表示させようと設定してみたのですが permissionがおかしいと403のエラーがでてしまいます。 私のぼろぼろな英語力を頼りにhttpd.confの public_htmlを有効にする記述の前後の英文を 読んだところ711に変更しろと書いてある気がしたので ルート権限で #chmod 711 public_html とやってみたのですが 相変わらず403のエラーが出てしまいます。 どのような原因が考えられますか? アドバイスよろしくおねがいします。

  • Redhat9.0でホームディレクトリのindex.htmlが見れません。

    Redhat9.0で一般ユーザーのホームディレクトリに転送したindex.htmlが見れません。 /var/www/html/ にindex.htmlを送ったところ見れているので、httpd.confの設定は間違っていないかと思われるのですが、原因がわかりません。apacheは2です。よろしくお願いいたします。

  • xamppのDocumentRootでindex,htmlが表示されないのはなぜ

    XAMPPを使って家のサーバからサイトを公開しようとしています。 WindowsXP PRO ServicePack3 XAMPP 1.7.3 インストールは無事に終了しましたが、http://localhost/を見ようとするとなぜかhttp://localhost/xampp/splash.phpを見に行ってしまいます。httpd.confで DocumentRoot "C:/xampp/htdocs" と設定されていますので、ここにindex.htmlを置いていますが、ただhttp://localhost/とだけアドレス欄に入れると、index.htmlを見に行かずに、http://localhost/xampp/splash.phpが表示されてしまいます。もちろんhttp://localhost/index.htmlと明示的に入力してやればちゃんと表示するのですが、外からアクセスするときドメイン・ネームの後にいちいちindex.htmlと入力せずとも、ドメイン・ネームだけでindex.htmlを表示させたいのです。困っています。教えてください。

    • ベストアンサー
    • PHP