Что означает "Индекс каталога, запрещенный правилом"?

Что может означать следующая строка?

[Mon Feb 21 20:52:13 2011] [error] [client 66.249.71.150] 
 Directory index forbidden by rule: /var/www/vhosts/website.com/httpdocs/

У меня нет index.php в корне, так как мой индекс home.php, корневой файл сайта определяется правилами.htaccess:

Мой файл .htaccess выглядит так:

DirectoryIndex index.php /index.php
RewriteCond %{HTTP_HOST} ^website.com$
RewriteRule ^$ en/home [R=301,L]
...

Спасибо большое!

update1:

У меня нет доступа к файлам конфигурации виртуального хоста, я на общем хостинге, так что только.htacces в моем / httpdocs / вот и все, что у меня есть. Что я должен делать? Должен ли я просто отключить DirectoryIndex (я не использую это в любом случае, и сайт работает нормально!) Как я могу проверить, есть ли у меня индекс каталога или нет?

Update2:

  • при тестировании в браузере все работает нормально, быстро и красиво!
  • в журнале, однако, я вижу это:

[Вс 27 февраля 02:18:56 2011] [ошибка] [клиент 66.249.71.81] Файл не существует: /var/www/vhosts/website.org/httpdocs/index

В отличие от первой ошибки в верхней части этой страницы, это выглядит как обычный 404 (мой документ об ошибке 404 - это моя домашняя страница, поэтому страницы ошибок показывают домашнюю страницу)

Когда я набираю 'website.org', правило htaccess выполняет свою работу по перенаправлению на страницу по умолчанию website.org/en/home, а когда я набираю 'websie.org/index', оно перенаправляет на сайт website.org/en/home, поэтому Кажется, все работает нормально, но я не знаю, что означают две ошибки: "Индекс каталога запрещен правилом..."

Улики? Спасибо!

2 ответа

Решение

РЕДАКТИРОВАТЬ 2: Хорошо... Я думаю, что сначала я полностью неправильно понял этот вопрос. Вы говорите, что у вас нет index.php файл в каталоге? Если так, DirectoryIndex index.php /index.php не выглядит правильно. Может быть, вы должны попробовать изменить это на:

DirectoryIndex home.php

Я правильно понимаю проблему? Вы пытаетесь отобразить страницу по умолчанию для каталога, правильно?


По умолчанию некоторые настройки http.conf имеют следующее правило:

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>

Всякий раз, когда я настраиваю vhost, я часто меняю это правило, чтобы оно выглядело примерно так:

<Directory />
    Options FollowSymLinks
    AllowOverride All
    Order deny,allow
    Allow from all
</Directory>

Важными частями в вашем случае являются последние две части Order а также Allow,

РЕДАКТИРОВАТЬ 1: На самом деле, после рассмотрения этой ошибки немного, возможно, что это даже проблема с разрешениями. Можете ли вы дважды проверить, что Apache имеет доступ на чтение к каталогу, к которому вы пытаетесь получить доступ?

Проверьте свои записи и убедитесь, что там указан виртуальный хост DocumentRoot вашего сайта, иначе apache не сможет получить к нему доступ.

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