Как отключить просмотр каталогов?
Я хочу отключить просмотр каталогов папки / galerias и всех подкаталогов
индекс /galerias / 409
* Parent Directory * i1269372986681.jpg * i1269372986682.jpg * i1269372988680.jpg
12 ответов:
лучший способ сделать это-отключить его с помощью веб-сервера apache2. В моем Ubuntu 14.Х - открытые
/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. Вот и все
Это не ответ, просто мой опыт:
на моем Ubuntu 12.04 apache2, не нашел
Indexes
в apache2 не.conf или httpd.conf, к счастью, я нашел его вsites-available/default
. После его удаления, теперь он не видит каталогов. Возможно, придется сделать это дляsites-available/default-ssl
.
Если вы решите изменить свой httpd.файл conf для решения этой проблемы, и у вас есть несколько директив параметров, затем вы должны добавить a - или A + перед каждой директивой. Пример:
Параметры -Индексы +FollowSymLinks
Открыть Свой .htaccess файл и введите следующий код в
Options -Indexes
убедитесь, что вы нажали клавишу ввода (или клавишу возврата, если вы используете Mac) после ввода слов "параметры-индексы", чтобы файл заканчивался пустой строкой.
чтобы завершить ответ @GauravKachhadiya:
IndexIgnore *.jpg
означает "скрывать только .jpg расширение файлов из индексации.
звездный символ, он соответствует любым символам в строке, например: foo или foo.расширение, в следующем примере мы собираемся отключить список каталогов, никакие файлы или dirs не появятся в индексе :
IndexIgnore *
или если вы хотите скрыть spacific файлы, в списке каталогов, то мы можем использовать
IndexIgnore *.php
*.в PHP => соответствует строке, которая начинается с любого символа и заканчивается .php
приведенный выше пример, скрывает все файлы, которые заканчиваются .php