Невозможно установить страницу индекса по умолчанию в apache2 [Debian 7.1]

Привет, я работаю над проектом, в котором у меня есть два файла индекса в корне, один - index.php, а другой - index.html. Я хочу установить страницу по умолчанию для index.php, и если она недоступна, она должна работать для index.html. Я много искал в интернете и нашел следующее решение для этого.

DirectoryIndex index.php index.html

Я использую этот код на своем сайте:

<Directory "/home/zhengyu/webroot/engine5g/rentown.com/">
          DirectoryIndex index.php index.html default.htm
</Directory>

Я также попробовал другой способ:

<Directory "/home/zhengyu/webroot/engine5g/rentown.com/">
          DirectoryIndex index.php index.html
          Options Indexes FollowSymLinks MultiViews
          AllowOverride None
          DirectoryIndex index.php index.html
          Order allow,deny
          allow from all
</Directory>

но ни один из них не сработал, он всегда делает index.php по умолчанию, но когда он недоступен, он не загружает index.html.

и если я сначала пишу index.html, а затем index.php, то он загружает index.html, но не загружает index.php, если index.html недоступен.

Короче говоря, мы можем сказать, что настройки не работают.

1 ответ

Решение

Вы можете указать несколько имен файлов, и веб-сервер будет искать каждый файл, пока не найдет совпадение. Рассмотрим этот пример директивы:

Запишите это в свой htaccess файл на root:

DirectoryIndex index.php index.html

В этой директиве, когда посетитель запрашивает имя каталога, веб-сервер сначала ищет файл index.php. Если он не находит файл index.php, он ищет файл index.html и т. Д., Пока не найдет совпадение или не закончатся файлы для поиска.

Или попробуйте этот путь

# Example A: Set index.html as an index page, then add index.php to that list as well.
<Directory "/foo">
    DirectoryIndex index.html
    DirectoryIndex index.php
</Directory>

# Example B: This is identical to example A, except it's done with a single directive.
<Directory "/foo">
    DirectoryIndex index.html index.php
</Directory>

# Example C: To replace the list, you must explicitly reset it first:
# In this example, only index.php will remain as an index resource.
<Directory "/foo">
    DirectoryIndex index.html
    DirectoryIndex disabled
    DirectoryIndex index.php
</Directory>

Источник:

Другие вопросы по тегам