Назад | Перейти на главную страницу

Виртуальный хост не получает индексный файл

Запуск 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-адресе.