Как отключить просмотр каталогов?
Я хочу отключить просмотр каталогов в папке /galerias и во всех подкаталогах
Индекс / Галерея /409
* Parent Directory * i1269372986681.jpg * i1269372986682.jpg * i1269372988680.jpg
14 ответов
Лучший способ сделать это - отключить его с помощью веб-сервера apache2. В моем Ubuntu 14.X - открыть /etc/apache2/apache2.conf
меняться от
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
в
<Directory /var/www/>
Options FollowSymLinks
AllowOverride None
Require all granted
</Directory>
затем перезапустите Apache:
sudo service apache2 restart
Это отключит список каталогов из всех папок, которые обслуживает apache2.
Помимо вышеупомянутых двух методов (отредактируйте /etc/apache2/apache2.conf или добавьте опцию -Indexes в файл.htaccess), вот еще один
a2dismod autoindex
Перезапустите сервер apache2 после
sudo service apache2 restart
Редактировать / Создать .htaccess
файл внутри /galerias
с этим:
Options -Indexes
Просмотр каталогов осуществляется модулем mod_autoindex.
Вы можете разместить пустой файл с именем index.html
в каждый каталог, который вы не хотите перечислить. Это имеет несколько преимуществ:
- Это (обычно) требует нулевой конфигурации на сервере.
- Он будет работать, даже если администратор сервера решит использовать "AllowOverride None" в конфигурации сервера. (Если вы используете
.htaccess
файлы, это может привести к большому количеству сообщений "Ошибка 500 - внутренняя ошибка сервера" для ваших пользователей!). - Это также позволяет вам перемещать ваши файлы с одного сервера на другой, опять же без необходимости связываться с конфигурацией apache.
Теоретически, автоиндексирование может быть вызвано другим файлом (это контролируется DirectoryIndex
вариант), но мне еще предстоит столкнуться с этим в реальном мире.
При настройке безопасного веб-сервера Apache важно отключить просмотр каталогов. По умолчанию apache поставляется с этой включенной функцией, но всегда полезно отключить ее, если она вам действительно не нужна. Откройте файл httpd.conf в папке apache и найдите строку, которая выглядит следующим образом:
Options Includes Indexes FollowSymLinks MultiViews
затем удалите словарные индексы и сохраните файл. Перезапустите Apache. это оно
Если вы решите изменить файл httpd.conf, чтобы решить эту проблему, и у вас есть несколько директив Options, то вы должны добавить - или + перед каждой директивой. Пример:
Опции -Indexes +FollowSymLinks
Это не ответ, просто мой опыт:
На моем Ubuntu 12.04 apache2 не нашел Indexes
в apache2.conf или httpd.conf, к счастью, я нашел его в sites-available/default
, После удаления, теперь он не видит список каталогов. Возможно, придется сделать это для sites-available/default-ssl
,
Чтобы завершить ответ @GauravKachhadiya:
IndexIgnore *.jpg
означает "скрыть только файлы расширения .jpg от индексации.
Директива IndexIgnore использует подстановочные выражения для сопоставления с каталогами и файлами.
символ звезды, он соответствует любым символам в строке, например: foo или foo.extension, в следующем примере мы собираемся отключить список каталогов, в индексе не появятся файлы или каталоги:
IndexIgnore *
Или, если вы хотите скрыть пространственные файлы, в списке каталогов, то мы можем использовать
IndexIgnore *.php
*.php => соответствует строке, которая начинается с любого символа и заканчивается на.php
В приведенном выше примере скрываются все файлы, заканчивающиеся на.php
Откройте файл.htaccess и введите следующий код в
Options -Indexes
Удостоверьтесь, что вы нажали клавишу ENTER (или клавишу RETURN, если вы используете Mac) после ввода слов "Options -Indexes", чтобы файл заканчивался пустой строкой.
В разделе каталога (
/etc/httpd/httpd.conf
)
Удалить строку -
Options Indexes FollowSymLinks
Новая линия -
Options FollowSymLinks
Я нашел другой способ сделать это с виртуальными хостами:
<VirtualHost *:80>
DocumentRoot C:/WAMP/Apache24/htdocs/
ServerName vehiclesspares.com
<Directory C:/WAMP/Apache24/htdocs/vehiclesspares.com>
Options FollowSymLinks
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
Это работало для меня на Apache 2.4.54 на моем локальном компьютере с Windows с файлом хоста (C:\Windows\System32\drivers\etc\hosts), содержащим строку: 127.0.0.1 carspares.com В этой конфигурации также был carspares.com под docroot: C:\WAMP\Apache24\htdocs\vehiclesspares.com