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