Подтвердить что ты не робот

Отключить список каталогов на apache; но доступ к отдельным файлам должен быть разрешен

Я не хочу использовать .htaccess. Как мне изменить атрибуты каталога?

<VirtualHost *:80>
   ServerName abc.com
   DocumentRoot /usr/share/uploads
   <Directory " /usr/share/uploads">
      Order allow,deny
      Allow from all
   </Directory>
</VirtualHost>
4b9b3361

Ответ 1

Я действительно не смог найти прямой ответ в Интернете; даже в документации apache. Наконец, можно найти решение через несколько итераций; нам нужно использовать опции, и значение НЕ должно содержать индексов.

<Directory "/usr/share/uploads">
        Options Includes FollowSymLinks MultiViews
        AllowOverride None
         Order allow,deny
      Allow from all
   </Directory>

Ответ 2

Если вы используете Debian/Ubuntu, просто перейдите к терминалу и введите

sudo a2dismod autoindex
sudo service apache2 restart

Если вы используете Centos/Fedora, просто выполните:

mv /etc/httpd/conf.d/autoindex.conf /etc/httpd/conf.d/autoindex.bkp
/etc/init.d/httpd restart

И аналогично в других ОС или дистрибутивах...

Это должно отключить модуль apache, который делает эти причудливые (обычно бесполезные и проблемы с безопасностью) списки каталогов. Кроме того, в качестве бонуса вы получаете немного производительности: -)

Ответ 3

Решение @Deepak не сработало для меня. Это сделал:

В основной конфигурации apace /etc/apache2/httpd.conf просто добавьте:

<Directory />
        Options FollowSymLinks
        AllowOverride All
</Directory>

И он будет работать для всех ваших доменов и поддоменов. Без файла .htaccess.

Ответ 4

Все сделано выше, но информация каталога все еще идет вверх? Если вы используете index.php, а не index.html, проверьте следующее:

<IfModule dir_module>
    DirectoryIndex index.php
</IfModule>

Ответ 5

Самый простой способ - разместить пустой файл index.html(или то, что вы настроили apache для доставки по умолчанию) внутри этого каталога. Это не настоящее решение, а очень простой способ обхода. Пользователь, просматривающий этот каталог, просто увидит пустую белую страницу.

Далее вы можете использовать script (например, index.php), который эмулирует список каталогов и показывает только некоторые специальные файлы.