#apache #.htaccess #httpd.conf
#апач #.htaccess #httpd.conf
Вопрос:
У меня запущена новая версия Apache 2.4, установленная через homebrew. Кажется, все работает в корне документа, localhost отображает мой образец HTML-страницы и info.php отображается нормально. Когда я пытаюсь получить доступ к одному из моих сайтов разработчиков в корне, я получаю 500 внутренних ошибок сервера и вижу это сообщение в журнале ошибок apache: Invalid command 'DirectoryIndex', perhaps misspelled or defined by a module not included in the server configuration
. Похоже, это происходит из объявления DirectoryIndex в моем .htaccess
файле для сайта. Удаление его избавляет от ошибки, но затем сайт отображается как индекс каталога, а не пытается отобразить фактическое index.php досье.
Моя конфигурация httpd выглядит следующим образом
DocumentRoot "/Path/To/My/Doc/Root"
<Directory "Path/To/My/Doc/Root">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs/2.4/mod/core.html#options
# for more information.
#
Options Indexes FollowSymLinks MultiViews
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# AllowOverride FileInfo AuthConfig Limit
#
AllowOverride All
#
# Controls who can get stuff from this server.
#
Require all granted
</Directory>
Я предполагаю, что проблема кроется в файле httpd.conf, но мне не удалось выяснить, какова фактическая причина. Насколько я могу судить, все модули, которые должны быть включены, есть, и конфигурационный файл проходит проверку синтаксиса. Любые предложения о том, как разобраться в этом, были бы очень признательны, я бьюсь головой об стол здесь.
Ответ №1:
Убедитесь, что mod_dir загружен в conf.modules.d/00-base.conf
файл.
LoadModule dir_module modules/mod_dir.so
Комментарии:
1. Похоже, это было причиной, и мой Macbook не прочитал изменения, пока я не выполнил полную перезагрузку системы. Перезапуск только Apache / httpd не сделал этого по какой-либо причине.