Я использую плагин dompdf для codeigniter: http://codeigniter.com/wiki/PDF_generation_using_dompdf/
для создания PDF-файлов из формы. Это работает на localhost, но на реальном сервере я получаю это в журнале ошибок:
Directory index forbidden by Options directive: /var/www/vhosts/domain.co.uk/httpdocs/mm/userdata/account1/invoices/
Любая идея, что это значит? Я искал ответы и нашел несколько, которые предлагают редактировать httpd.conf, но у меня нет доступа к этому.
Я также попробовал добавить пустой файл index.html в каталог корневого каталога и документа (как и предлагалось в другом месте, но безрезультатно).
Любая помощь очень ценится.
Благодаря!
Либо главный файл httpd.conf
либо файл .htaccess
в этом каталоге или ближайший родительский каталог, вероятно, включает в себя:
Options -Indexes
Возможно, ваш хост должен установить его на +Indexes
если у вас нет доступа в .htaccess
и вы хотите просмотреть и просмотреть содержимое каталога, не index.html, index.php
и т. Д. Если каталог не должен иметь файл по умолчанию, и вы не включаете Indexes
, вы можете напрямую указывать только имена файлов в нем.
Параметр « Indexes
обычно отключается по умолчанию во многих установках Apache.
Полная информация доступна в основной документации Apache по Options
Это означает, что в этом каталоге нет документа по умолчанию (index.html, index.php и т. Д.). На большинстве веб-серверов это означало бы, что он отобразит список содержимого каталога. Но показ этого каталога запрещен конфигурацией сервера ( Options -Indexes
)
Еще одна проблема, с которой вы столкнулись, если вы используете RHEL (я столкнулся с ней), заключается в том, что есть страница приветствия по умолчанию, настроенная с пакетом httpd, которая переопределит ваши настройки, даже если вы добавите опционные индексы. Файл находится в файле /etc/httpd/conf.d/welcome.conf. См. Следующую ссылку для получения дополнительной информации: http://wpapi.com/solved-issue-directory-index-forbidden-by-options-directive/
Индексы отображаются в веб-браузере для каталогов, которые не содержат файл index.html или index.php.
У меня было много проблем с конфигурацией на веб-сервере httpd Scientific Linux, чтобы прекратить показывать эти индексы.
Директивы виртуального хоста httpd.conf:
<Directory /home/mydomain.com/htdocs> Options FollowSymLinks AllowOverride all Require all granted </Directory>
и добавление следующей строки в .htaccess:
Options -Indexes
Индексы каталогов все еще показывались. .htaccess настройки не работали!
Как это могло быть, другие настройки в .htaccess работали, так почему же не этот? Что происходит? Он должен работать! % # $ & ^ $% @ # !!
Измените строку параметров httpd.conf на:
Options +FollowSymLinks
и перезапустите веб-сервер.
На основной странице модема Apache: ( https://httpd.apache.org/docs/2.4/mod/core.html#options )
Параметры смешивания с + или – с теми, у кого нет, недействительны синтаксис и будут отклонены во время запуска сервера с помощью проверки синтаксиса с отменой.
Индексы каталога Voilà больше не отображались для каталогов, в которых не было файла index.html или index.php.
Новые записи начали появляться в «error_log» при попытке доступа к каталогу:
[Fri Aug 19 02:57:39.922872 2016] [autoindex:error] [pid 12479] [client aaa.bbb.ccc.ddd:xxxxx] AH01276: Cannot serve directory /home/mydomain.com/htdocs/dir-without-index-file/: No matching DirectoryIndex (index.html,index.php) found, and server-generated directory index forbidden by Options directive
Эта запись относится к модулю «autoindex» Apache с LogLevel «error», как указано в [autoindex: error] сообщения об ошибке – формат [имя_модуля: loglevel].
Чтобы остановить запись этих новых записей, LogLevel необходимо изменить на более высокий уровень (например, «крит»), чтобы регистрировать меньше — только более серьезные сообщения об ошибках.
См. Основные директивы Apache 2.4 для LogLevel .
появление, предупреждение, крит, ошибка, предупреждение, уведомление, информация, отладка, trace1, trace2, trace3, tracr4, trace5, trace6, trace7, trace8
Каждый уровень глубже в списке регистрирует все сообщения любого предыдущего уровня (ов).
Уровень по умолчанию для Apache 2.4 – «предупреждение». Поэтому все сообщения, относящиеся к появлению, предупреждению, криту, ошибке и предупреждению, записываются в error_log.
Добавлена следующая строка внутри раздела <Directory> .. </ Directory> httpd.conf:
LogLevel crit
Конфигурация httpd.conf для моего виртуального хоста <Directory> .. </ Directory>:
<Directory /home/mydomain.com/htdocs> Options +FollowSymLinks AllowOverride all Require all granted LogLevel crit </Directory>
и добавив в / home / mydomain.com /htdocs/.htaccess корневой каталог файла .htaccess вашего веб-сайта:
Options -Indexes
Если вы не возражаете против сообщений об уровне ошибки, опустите
LogLevel crit
Больше нет autoindex'ing каталогов внутри вашего веб-пространства. Нет изменений в .htaccess. Но нужно получить доступ к файлам конфигурации httpd в / etc / httpd
Измените /etc/httpd/conf.modules.d/00-base.conf и прокомментируйте строку:
LoadModule autoindex_module modules/mod_autoindex.so
добавив перед ним #, а затем сохраните файл.
В каталоге /etc/httpd/conf.d переименовать (mv)
sudo mv autoindex.conf autoindex.conf.<something_else>
Перезапустить httpd:
sudo httpd -k restart
или
sudo apachectl restart
Теперь autoindex_mod отключен.
Отключить модуль autoindex введите команду
sudo a2dismod autoindex
для включения модуля autoindex
sudo a2enmod autoindex
Вставьте следующие строки:
<Directory "C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs"> Options +Indexes </Directory>
В файле C:\Program Files (x86)\Apache Software Foundation\Apache2.2\conf\extra\httpd-vhosts.conf
. Я предполагаю, что вы используете Virtual Host для разработки.
А потом, конечно, просто перезапустите Apache.
Документация