Подібна проблема може виникнути з трьох причин:

  1. Сайт завантажений у неправильну директорію.
  2. Відсутній індексний файл (index.html чи index.php).
  3. Неправильно налаштовано веб-сервер.

Оскільки вирішення першої причини не викликає ніяких труднощів навіть у вебмастера-початківця, розглянемо другу і третю причини.

Налаштування лістингу каталогу та індексних сторінок може бути виконане засобами файлів httpd.conf (apache2.conf) та .htaccess.

За замовчуванням, як перша сторінка сайту відкривається файл з ім’ям index.html. Цей параметр задається директивою DirectoryIndex у файлі httpd.conf або apache2.conf.

Якщо замість першої сторінки сайту відображається список файлів, то насамперед необхідно переконатися, що в кореневій директорії віртуального хоста є файл index.html.

За бажанням можна змінити ім’я та тип індексних файлів за замовчуванням. Це можна зробити або глобально для всього сервера (за допомогою вказаної вище директиви DirectoryIndex у файлі httpd.conf), або локально, у файлі .htaccess за допомогою тієї ж директиви DirectoryIndex. Приклад цієї директиви наведено нижче:

DirectoryIndex index.html myindex.html index.pl myindex.php

Якщо в директорії є кілька індексних файлів (наприклад, myindex.html і index.pl), то буде відображено файл, згаданий у рядку в першу чергу (в даному випадку, myindex.html).

У випадку, якщо жодного із зазначених файлів не знайдено, буде відображено список файлів та директорій. Для заборони відображення цього списку файлу .htaccess необхідно додати запис:

Options -Indexes

У файлі httpd.conf ця директива за умовчанням має вигляд Options Indexes, тобто відображення списку файлів дозволено.

Зверніть увагу . Після внесення змін до конфігураційного файлу необхідно або перезапустити веб-сервер (краще), або виконати команду service httpd reload (перечитати директиви без перезапуску веб-сервера).