Запуск apache в Fedora.
Конфигурация моего виртуального хоста выглядит так:
NameVirtualHost 184.106.108.173:80
<VirtualHost 184.106.108.173:80>
ServerName www.sandboxmadness.com
DocumentRoot /var/www/admin/public
<Directory "/var/www/admin/public">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost 184.106.108.173:80>
ServerAlias www.meatball-parm.us
DocumentRoot /var/www/meatball
ServerName www.meatball-parm.us
DirectoryIndex index.html
</VirtualHost>
Первый vhost работает как чемпион. Когда я разрешаю адрес фрикадельки, браузер открывает нужную папку, но отображает список каталогов вместо открытия индексного файла.
Нашел. . . была еще одна директива DirectoryIndex, скрытая в файле conf, который был установлен на index.php. Очевидно, директива, указанная в виртуальном хосте, не перезаписывает директивы, указанные в «основной конфигурации».
Не могли бы вы проверить свои журналы? Возможно, вы увидите ошибку (файл не открывается, каталог не читается ...). Если вы введете URL-адрес с окончанием на index.html, он работает? Ваш индекс не PHP или что-то еще?
В моем случае файл mod_dir.so был закомментирован в:
LoadModule ... mod_dir.so
Раскомментировал, перезапустил apache и все заработало!
Сегодня мы обнаружили очень странное поведение на нашем сервере SLES 11 SP4 с Apache 2.2.
Apache полностью "проигнорировал" DirectoryIndex index.html в нашем vhosts.conf, когда файлы htdocs НЕ принадлежали сервисной учетной записи Apache (wwwrun.www в нашем случае), даже если права доступа к файлам были достаточными через ДРУГИЕ (R + X ). Мы могли без проблем получить доступ к index.html, если адресуем его явно по URL-адресу, но потерпели неудачу, если не упоминались в URL-адресе.
но в тот самый момент, когда мы рекурсивно изменили право собственности на htdocs обратно на значения по умолчанию SLES (wwwrun.www), apache начал работать нормально, и указанный файл DirectoryIndex был обслужен снова, без явного упоминания этого в URL-адресе.