У меня настроен следующий vhost:
<VirtualHost *:80>
DocumentRoot /var/www/myvhost
ServerName myv.host.com
ServerAlias myv.host.com
ErrorLog logs/myvhost-error_log
CustomLog logs/myvhost-access_log combined
ServerAdmin myv@host.com
<Directory /var/www/myvhost>
AllowOverride All
Options +Indexes
</Directory>
</VirtualHost>
Конфигурация появляется быть правильным из apachectl
перспектива инструмента.
Однако я не могу получить список каталогов на этом виртуальном хосте:
Forbidden
You don't have permission to access / on this server.
Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request.
Журнал ошибок показывает следующее:
[Wed Mar 07 19:23:33 2012] [error] [client 66.6.145.214] Directory index forbidden by Options directive: /var/www/******
Совсем недавно в error.log появилось следующее:
[Wed Mar 07 20:16:10 2012] [error] [client 192.152.243.233] Options FollowSymLinks or SymLinksIfOwnerMatch is off which implies that RewriteRule directive is forbidden: /var/www/error/noindex.html
Сегодня выгоняют:
[Thu Mar 08 14:05:56 2012] [error] [client 66.6.145.214] Directory index forbidden by Options directive: /var/www/<mydir>
[Thu Mar 08 14:05:56 2012] [error] [client 66.6.145.214] Options FollowSymLinks or SymLinksIfOwnerMatch is off which implies that RewriteRule directive is forbidden: /var/www/error/noindex.html
[Thu Mar 08 14:05:57 2012] [error] [client 66.6.145.214] Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.
Это после изменения vhosts.conf
файл таким образом:
<VirtualHost *:80>
DocumentRoot /var/www/<mydir>
ServerName myhost
ServerAlias myhost
ErrorLog logs/myhost-error_log
CustomLog logs/myhost-access_log combined
ServerAdmin admin@myhost
<Directory "/var/www/<mydir>">
Options All +Indexes +FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Чего не хватает?
Все подкаталоги корневого каталога правильно делают списки каталогов - это только корень, который не может.
403 означает, что ресурс найден. Убедитесь, что у apache есть разрешение на каком-то уровне r-x
корень документа и все каталоги над ним и r--
файлы в нем.
Попробуйте изменить директиву каталога на
<Directory /var/www/myvhost>
AllowOverride All
Options +Indexes
Order allow,deny
Allow from all
</Directory>
У меня была аналогичная проблема сегодня, когда я видел ошибку, подобную вашей, показанной выше:
[Wed Oct 17 14:19:08 2012] [error] [client 123.66.66.22] Options FollowSymLinks or SymLinksIfOwnerMatch is off which implies that RewriteRule directive is forbidden: /var/www/mysite/
Варианты смешивания с +/- и без них проблематичны, обратите внимание на документация apache по параметрам:
Смешивание опций с + или - с опциями без них является недопустимым синтаксисом и будет отклонено во время запуска сервера проверкой синтаксиса с прерыванием.
Также эффект правильного использования директивы без +/- удаляет все другие ранее установленные директивы для этого каталога.
Я использовал индексы без +, и у меня была ошибка, которую я скопировал выше.
Поскольку вы говорите, что не используете файлы .htaccess, почему бы не изменить директиву Directory на это:
<Directory /var/www/myvhost>
AllowOverride None
Options +Indexes
Order allow,deny
Allow from all
</Directory>
index.html
файл в корне, который перезагружается в подкаталогЯ все еще хочу знать, почему я не могу просто пройти по самому каталогу, но пока это работает.
В моих системах CentOS 5/6/7 эта проблема вызвана каким-то конфликтом в файле /etc/httpd/conf.d/welcome.conf по умолчанию, который поставляется с системой. Комментирование каждой строки файла welcome.conf и перезапуск веб-сервера приводит к тому, что индекс каталога становится доступным для просмотра в корневом веб-сервере. Похоже, это просто ошибка в конфигурации веб-сервера по умолчанию, которая поставляется из коробки, по крайней мере, в системах Red Hat / CentOS, но, возможно, и в других. В вашей системе могла быть аналогичная проблема.