Как отключить просмотр каталогов?
Я хочу отключить просмотр каталогов папки / galerias и всех подкаталогов
индекс /galerias/409
* Parent Directory * i1269372986681.jpg * i1269372986682.jpg * i1269372988680.jpg
12 ответов
лучший способ сделать это-отключить его с помощью веб-сервера 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.
изменить/создать внутри /galerias
С этого:
Options -Indexes
просмотр каталога обеспечивается mod_autoindex модуль.
помимо указанных двух методов (edit / etc/apache2 / apache2.conf или добавить Параметры -Индексы in .htaccess file), вот еще один
a2dismod autoindex
после этого перезапустите сервер apache2
sudo service apache2 restart
вы можете разместить пустой файл с именем index.html
в каждый каталог, который вы не хотите перечислять. Это имеет несколько преимуществ:
- (обычно) требует нулевой конфигурации на сервере.
- он будет продолжать работать, даже если администратор сервера решит использовать "AllowOverride None" в конфигурации сервера. (Если вы используете
.htaccess
файлы, это может привести к множеству сообщений "Ошибка 500-внутренняя ошибка сервера" для ваших пользователей!). - он также позволяет перемещать файлы с одного сервера на другой, снова без необходимости возиться с конфигурацией apache.
теоретически, автоиндексация может быть вызвана другим файлом (это контролируется DirectoryIndex
вариант), но мне еще предстоит столкнуться с этим в реальном мире.
одна из важных вещей заключается в настройке безопасного веб-сервера apache, чтобы отключить просмотр каталогов. По умолчанию apache поставляется с этой функцией включен, но это всегда хорошая идея, чтобы получить его отключен, если вам это действительно нужно. Откройте файл httpd.conf файл в папке apache и найти строку, которая выглядит следующим образом:
Options Includes Indexes FollowSymLinks MultiViews
затем удалите индексы word и сохраните файл. перезапустить Apache. Вот оно!--2-->
Это не ответ, просто мой опыт:
на моем Ubuntu 12.04 apache2, не нашел Indexes
в apache2 не.conf или httpd.conf, к счастью, я нашел его в sites-available/default
. После его удаления, теперь он не видит каталогов. Возможно, придется сделать это для sites-available/default-ssl
.
Если вы решите изменить свой httpd.conf файл, чтобы решить эту проблему, и у вас есть несколько директив параметров, то вы должны добавить - или + перед каждой директивой. Пример:
Параметры -Индексы +FollowSymLinks
Открыть Свой .htaccess файл и введите следующий код в
Options -Indexes
убедитесь, что вы нажали клавишу ENTER (или клавишу RETURN, если вы используете Mac) после ввода слов "параметры-индексы", чтобы файл заканчивался пустой строкой.
чтобы завершить ответ @GauravKachhadiya:
IndexIgnore *.jpg
означает "скрывать только .формат JPG файлы расширений из индексирования.
директива IndexIgnore использует подстановочное выражение для сопоставления с каталогами и файлами.
-
символ звезды, он соответствует любым символам в строке, например: foo или foo.расширение, в следующем примере мы собираемся отключить список каталогов, никакие файлы или dirs не будут отображаться в индексе :
IndexIgnore *
или если вы хотите скрыть пространственные файлы в списке каталогов, мы можем использовать
IndexIgnore *.php
*.в PHP => соответствует строке, которая начинается с любого символа и заканчивается .в PHP
приведенный выше пример, скрывает все файлы, которые заканчиваются .в PHP