Мне нужна моя установка Ubuntu, чтобы использовать index.php в качестве файла по умолчанию.
Добавлено
DirectoryIndex index.php
в /etc/apache2/apache2.conf
Добавлено
<Directory /path/to/website/root/>
DirectoryIndex index.php
</Directory>
в /etc/apache2/sites-available/mysite.conf с последующим включением и перезапуском
sudo a2ensite mysite
sudo service apache2 restart
Что я пропустил? Тем не менее сервер не загружает файл по умолчанию.
ПРИМЕЧАНИЕ: добавление DirectoryIndex index.php
to .htaccess вызывает желаемый эффект, но я бы предпочел сделать это через файл .conf.
Куда вы поместили DirectoryIndex? Добавление его в .htaccess эквивалентно помещению оператора в:
<Directory /path/to/htaccess/file/>
DirectoryIndex index.php
</Directory>
поэтому попробуйте добавить оператор каталога вокруг DirectoryIndex. Немного хакерский, но, наверное, сработает? Если он не пытается предоставить нам намного больше вашей конфигурации, например, всю конфигурацию vhost.
Попробуйте вместо этого использовать директиву местоположения.
<Location /path/to/htaccess/file/>
DirectoryIndex index.php
</Location>
Сегодня у нас была аналогичная проблема на SLES 11 SP4 с Apache 2.2 с конфигурацией apache по умолчанию. Проблема заключалась в том, что Apache игнорировал существующий файл index.html, если он не был явно вызван по URL-адресу. например server.domain.tld / каталог /
Однако, если вызывается с явным файлом, он обслуживает контент. например server.domain.tld / каталог / index.hmtl. так что проблем с разрешениями файловой системы не было. Все файлы в htdocs имеют достаточные разрешения для группы ДРУГИЕ. НО все файлы htdocs тогда принадлежали root.root. Таким образом, в этом «режиме» Apache не обслуживает index.html, если он не упоминается в URL-адресе.
В тот момент, когда мы рекурсивно изменили каталог и файлы htdocs обратно на владельца "wwwrun.www", который является "по умолчанию" на SLES (suse linux Enterprise Server) без изменения разрешений, apache снова начал обслуживать index.html, как обычно ожидается. Ни перезагрузки, ни чего не нужно.
не могу сказать, ошибка это или функция. просто хотел сообщить вам, что мы испытали и что помогло решить проблему.
поэтому вы можете проверить, владеете ли вы своими файлами htdocs и убедиться, что они принадлежат учетной записи службы и группе веб-серверов.