web-dev-qa-db-ja.com

ApacheはWebルートにインデックスを表示しません。サブフォルダーは問題ありません。

CentOS5.5で実行されているApache2.2.3サーバーがあります。私のウェブディレクトリのルートには、index.htmlファイルがあります。

たとえば、www.exampledomain.Egg/index.htmlのようなものに移動すると機能しますが、www.exampledomain.Egg/に移動すると完全に空白のページが表示されます。 DirectoryIndexオプションを再確認しましたが、まだ何もありません。

これはドメインのルートにのみ影響するようです。 www.exampledomain.Egg/iamafolder/のようなサブディレクトリがある場合、それは通常どおり独自のDirectoryIndexを表示します。

これが私が.htaccessファイルに持っているものです:

DirectoryIndex index.html index.txt index.php
3
zach.hinchy

Apacheアクセスログファイルをチェックして、実際に正しいファイルを要求していることを確認します。また、インデックスファイルに暴走タグがないかどうかを確認します(たとえば、ドキュメント全体がヘッダー情報としてのみ解析される可能性のある</head>が欠落している)。

1
jho

他にindex.XXXファイルはありますか?多くの場合、たとえばindex.phpはindex.htmlよりも優先されます。

0
farr

トラブルシューティングに役立つチェックを試すことができるのは、問題のindex.htmlファイルの最終アクセス時間です。まず、ファイルシステムでatimeフラグが更新されていることを確認する必要があります。 mountを実行し、ドキュメントルートが存在するファイルシステムにnoatimeフラグが設定されているかどうかを確認します。含まれている場合は、ファイルの時間を更新していないため、このフラグなしで再マウントする必要があります。それ以外の場合は、atimesを更新する必要があります。

これで、次の操作を実行できます。

ls -l --full-time --time=atime index.html

次に、数秒待ってからアクセスを試みます http://www.exampledomain.Egg/ 次に、シェルに戻ってそのlsコマンドを再度実行し、atimeが変更されたかどうかを確認します。

  • 時間が変わらなかった場合:

    /etc/httpd/conf.d/でデフォルトのwelcome.confがまだオンになっているかどうかを確認します。ウェルカムエラーファイルが空白か何かであり、それと一致している可能性があります。そこにあるデフォルトの一致は、ルートでのみ一致します。これは、発生しているもののように聞こえます。

  • 時間が変更された場合:

    Index.htmlファイルが本当に空でないことを確認しますか? cat index.html

また、空白のページでブラウザのソースをチェックして、それが本当に空であるかどうか、または単に非表示のコンテンツがあるかどうかを確認したかどうかについても言及していません。

別のブラウザを使用して、問題がサーバー側にあることを確認します。

curl http://www.exampledomain.Egg/

そして、それが本当に目に見えないコンテンツを持っていれば大丈夫です、私はこれを考えるように何度か自分自身をだましましたので、あまり激しく蹴らないでください。

0
deltaray