Что означает "Индекс каталога, запрещенный правилом"?
Что может означать следующая строка?
[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 не сможет получить к нему доступ.