Вместо сайта отображается список файлов

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

  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 (перечитать директивы без перезапуска веб-сервера).