Я использую Apache на своем домашнем компьютере Linux в качестве временного сервера для обмена несколькими файлами с друзьями. Поэтому мне просто нужен список каталогов для этих файлов вместе с подкаталогами. У меня есть опция индексов в параметре каталога, и каталог просматривается. Проблема в том, что виден только один подкаталог, а остальные не отображаются. У меня одинаковые разрешения и владельцы всех файлов и каталогов, но ничего не меняется. А если я пытаюсь принудительно войти в скрытый каталог, я получаю сообщение об отсутствии необходимых разрешений. Есть ли здесь помощь?
Directory directive from conf file:
<Directory />
Options Indexes FollowSymLinks
AllowOverride None
</Directory>
Permissions of Directory:
drwxr-xr-x. 5 apache users 4096 Jan 22 17:17 DND
drwxr-xr-x. 11 apache users 4096 Jan 16 08:16 Pathfinder
-rwxr-xr-x. 1 apache users 119 Jan 19 17:30 README
Pathfinder и все в нем отображаются, а README работает только когда я проталкиваю его через URL. DND не отображается и не работает, когда я проталкиваю его через URL.
решение1
У меня та же проблема на размещенном решении, поэтому у меня нет доступа к "главным" файлам конфигурации Apache - хотя мне разрешено помещать .htaccess
в свои подпапки и разрешать Options +Indexes
там. Однако даже когда я это делаю, файлы с именем README
не попадают в список - в то время как файлы с именем Readme
попадают.
Это говорит мне о том, что, вероятно, README
это отключено где-то в настройках Apache верхнего уровня, и, вероятно, через IndexIgnore
; проблема, похоже, в следующем:
После настройки IndexIgnore вы не сможете переопределить его из подпапок. Попробуйте использовать order allow,deny для него.
... и я попробовал это:
Options +Indexes
<Limit GET POST>
order deny,allow
deny from all
allow from all
</Limit>
<Files "README">
order deny,allow
deny from all
allow from all
</Files>
, но, похоже, даже это не помогает с именем файла README
- по крайней мере, не с ограниченными возможностями конфигурации, которые у меня есть. Другое дело, что есть атрибут ReadmeName
для apache
(например,apache2 - Изменить ReadmeName по умолчанию в Apache - Ошибка сервера); что также может вызвать проблемы? Также похожий вопрос:http - Apache не показывает файлы README.TXT в списке каталогов. Как включить? - Stack Overflow
В любом случае, для меня самым быстрым решением будет переименовать файл, написав его со всех заглавных букв README
на со смешанными заглавными буквами...
решение2
Вероятно, это будет зависеть от вашего дистрибутива Linux, но в Centos 6.X конфигурация Apache по умолчанию включает директиву IndexIgnore в /etc/httpd/conf/httpd.conf, которая исключает все файлы, начинающиеся с README.