Как отключить просмотр каталогов?


Я хочу отключить просмотр каталогов папки / galerias и всех подкаталогов

индекс /galerias / 409

* Parent Directory
* i1269372986681.jpg
* i1269372986682.jpg
* i1269372988680.jpg
12 166

12 ответов:

создать a .htaccess файл со следующим:

Options -Indexes

лучший способ сделать это-отключить его с помощью веб-сервера 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

попробуйте это в ваш код:

IndexIgnore *

попробуем .htaccess:

IndexIgnore *.jpg