Это даже работает в <Directory> или <Location> в реальном файле .conf
chrismarx
1
@ chrismarx, в какой файл .conf мне его поместить? Кажется, что .htaccess не включен на моем сервере, и я прочитал, что лучше не использовать его в любом случае. У меня есть доступ ко всем файлам сервера, хотя, как его VPS.
Чарльз Джон Томпсон III
1
Я застрял в этом же вопросе, я добавил файл .htaccess с кодом в тот же каталог, что и моя веб-страница, но он все еще дает мне предупреждение о просмотре каталога. Я делаю что-то неправильно?
Рэнди Гилман
10
Обратите внимание, что .htaccessможет быть выключен. Пожалуйста, проверьте AllowOverrideдирективу. Если он установлен на None, то .htaccessвыключен. Вы можете включить его, установив AllowOverride All. Чтобы быть более точным, Allозначает все директивы Apache.
Джулиан
2
Если у вас есть контроль над http.conf, лучше сделайте это там. Есть хит производительности с htaccess
Итай Моав -Малимовка
299
Лучший способ сделать это - отключить его с помощью веб-сервера apache2. В моем Ubuntu 14.X - открытое /etc/apache2/apache2.confизменение от
@Jay Я также попробовал "Опции -индексы", но Apache не запустил послесловие. Я использую версию сервера: Apache / 2.4.18 (Ubuntu). Однако, использование «Options FollowSymLinks» работало согласно ответу Дунга. Мне просто интересно, какую версию Apache и ОС вы используете? Может быть, дело в версии?
MikeyE
@Jay @MikeyE То же самое здесь; Apache не будет перезагружаться с помощью-Indexes
Crimbo
1
@Jay @MikeyE Apache, кажется, перезагрузится / перезапустится, если вы удалитеFollowSymLinks
Crimbo
2
Запуск apachectl configtestпосле добавления Options -Indexes FollowSymLinksв httpd.conf выдает следующую ошибку: «Либо все опции должны начинаться с + или -, либо никакие опции не могут». Поэтому то , что будет работать этоOptions -Indexes +FollowSymLinks
Джон Т.
45
Помимо двух упомянутых выше методов (отредактируйте /etc/apache2/apache2.conf или добавьте опцию -Indexes в файл .htaccess), вот еще один
- Индексы в корневом каталоге не работают, в apache2.4.33 мне пришлось использовать ответ @Sarvar Nishonboyev
Felipe Valdes
1
@FelipeValdes Пожалуйста, внимательно прочтите вопрос и мой ответ. Мы говорим не о корневом каталоге, а о подкаталоге, и его просили, чтобы его можно было выполнить в .htaccessфайле (это не самый эффективный способ, но часто это единственный вариант в общих учетных записях хостинга или с занятыми сисадминами).
Альваро Гонсалес
23
Вы можете поместить пустой файл index.htmlв каждый каталог, который вы не хотите перечислять. Это имеет несколько преимуществ:
Это (обычно) требует нулевой конфигурации на сервере.
Он будет работать, даже если администратор сервера решит использовать «AllowOverride None» в конфигурации сервера. (Если вы используете .htaccessфайлы, это может привести к появлению большого количества сообщений «Ошибка 500 - внутренняя ошибка сервера» для ваших пользователей!).
Это также позволяет вам перемещать ваши файлы с одного сервера на другой, опять же без необходимости связываться с конфигурацией apache.
Теоретически, автоиндексирование может быть вызвано другим файлом (это контролируется DirectoryIndexопцией), но мне еще предстоит столкнуться с этим в реальном мире.
Берегись! Это может работать только с , index.htmlкак определено в первую очередь директива DirectoryIndex .
nyedidikeke
18
При настройке безопасного веб-сервера Apache важно отключить просмотр каталогов. По умолчанию apache поставляется с этой включенной функцией, но всегда полезно отключить ее, если она вам действительно не нужна. Откройте файл httpd.conf в папке apache и найдите строку, которая выглядит следующим образом:
Options Includes Indexes FollowSymLinks MultiViews
затем удалите словарные индексы и сохраните файл. Перезапустите Apache. это оно
Отлично. Отключи его на всю машину. Почему это было бы включено по умолчанию, я понятия не имею ...
eduncan911
1
Это работало для меня в Ubuntu (apache2.conf), но .htaccess Options -Indexes - нет.
Данниэль Литтл
Это работало для меня в Ubuntu (/etc/apache2/apache2.conf), но параметры .htaccess -Indexes этого не сделали.
user2875289
5
Если вы решите изменить файл httpd.conf, чтобы решить эту проблему, и у вас есть несколько директив Options, вы должны добавить - или + перед каждой директивой. Пример:
На моем Ubuntu 12.04 apache2 не нашел Indexesни в apache2.conf, ни в httpd.conf, к счастью, я нашел его sites-available/default. После удаления, теперь он не видит список каталогов. Возможно, придется сделать это для sites-available/default-ssl.
Убедитесь, что вы нажали клавишу ENTER (или клавишу RETURN, если вы используете Mac) после ввода слов «Options -Indexes», чтобы файл заканчивался пустой строкой.
означает «скрыть только файлы расширения .jpg от индексации.
Директива IndexIgnore использует подстановочные выражения для сопоставления с каталогами и файлами.
символ звезды, он соответствует любым символам в строке, например: foo или foo.extension, в следующем примере мы собираемся отключить список каталогов, в индексе не появятся файлы или каталоги:
IndexIgnore *
Или, если вы хотите скрыть пространственные файлы, в списке каталогов, то мы можем использовать
IndexIgnore *.php
* .php => соответствует строке, которая начинается с любого символа и заканчивается на .php
В приведенном выше примере скрываются все файлы, заканчивающиеся на .php
Ответы:
Создайте файл .htaccess, содержащий следующую строку:
Это один из вариантов. Другой вариант - редактирование вашего файла конфигурации apache.
Для этого сначала нужно открыть его с помощью команды:
Затем найдите строку: Параметры Индексы FollowSymLinks
Измените эту строку на: Опции FollowSymLinks
Наконец, сохраните и закройте файл и перезапустите сервер Apache с помощью этой команды:
(У вас есть руководство со скриншотами здесь .)
источник
.htaccess
может быть выключен. Пожалуйста, проверьтеAllowOverride
директиву. Если он установлен наNone
, то.htaccess
выключен. Вы можете включить его, установивAllowOverride All
. Чтобы быть более точным,All
означает все директивы Apache.Лучший способ сделать это - отключить его с помощью веб-сервера apache2. В моем Ubuntu 14.X - открытое
/etc/apache2/apache2.conf
изменение отв
затем перезапустите Apache:
Это отключит список каталогов из всех папок, которые обслуживает apache2.
источник
-Indexes
FollowSymLinks
apachectl configtest
после добавленияOptions -Indexes FollowSymLinks
в httpd.conf выдает следующую ошибку: «Либо все опции должны начинаться с + или -, либо никакие опции не могут». Поэтому то , что будет работать этоOptions -Indexes +FollowSymLinks
Помимо двух упомянутых выше методов (отредактируйте /etc/apache2/apache2.conf или добавьте опцию -Indexes в файл .htaccess), вот еще один
Перезапустите сервер apache2 впоследствии
источник
a2dismod -f autoindex
для неблокирующего выполнения команд.Alias
папок и любого другого пути, обслуживаемого Apache.Редактируйте / Создайте
.htaccess
файл внутри/galerias
с этим:Просмотр каталогов осуществляется модулем mod_autoindex .
источник
.htaccess
файле (это не самый эффективный способ, но часто это единственный вариант в общих учетных записях хостинга или с занятыми сисадминами).Вы можете поместить пустой файл
index.html
в каждый каталог, который вы не хотите перечислять. Это имеет несколько преимуществ:.htaccess
файлы, это может привести к появлению большого количества сообщений «Ошибка 500 - внутренняя ошибка сервера» для ваших пользователей!).Теоретически, автоиндексирование может быть вызвано другим файлом (это контролируется
DirectoryIndex
опцией), но мне еще предстоит столкнуться с этим в реальном мире.источник
index.html
как определено в первую очередь директива DirectoryIndex .При настройке безопасного веб-сервера Apache важно отключить просмотр каталогов. По умолчанию apache поставляется с этой включенной функцией, но всегда полезно отключить ее, если она вам действительно не нужна. Откройте файл httpd.conf в папке apache и найдите строку, которая выглядит следующим образом:
затем удалите словарные индексы и сохраните файл. Перезапустите Apache. это оно
источник
Если вы решите изменить файл httpd.conf, чтобы решить эту проблему, и у вас есть несколько директив Options, вы должны добавить - или + перед каждой директивой. Пример:
Опции -Indexes + FollowSymLinks
источник
Это не ответ, просто мой опыт:
На моем Ubuntu 12.04 apache2 не нашел
Indexes
ни в apache2.conf, ни в httpd.conf, к счастью, я нашел егоsites-available/default
. После удаления, теперь он не видит список каталогов. Возможно, придется сделать это дляsites-available/default-ssl
.источник
Откройте файл .htaccess и введите следующий код в
Убедитесь, что вы нажали клавишу ENTER (или клавишу RETURN, если вы используете Mac) после ввода слов «Options -Indexes», чтобы файл заканчивался пустой строкой.
источник
Добавьте это в ваш файл .htaccess:
Если это не работает по какой-либо причине, попробуйте это в вашем файле .htaccess:
источник
Чтобы завершить ответ @ GauravKachhadiya:
означает «скрыть только файлы расширения .jpg от индексации.
Директива IndexIgnore использует подстановочные выражения для сопоставления с каталогами и файлами.
символ звезды, он соответствует любым символам в строке, например: foo или foo.extension, в следующем примере мы собираемся отключить список каталогов, в индексе не появятся файлы или каталоги:
IndexIgnore *
Или, если вы хотите скрыть пространственные файлы, в списке каталогов, то мы можем использовать
* .php => соответствует строке, которая начинается с любого символа и заканчивается на .php
В приведенном выше примере скрываются все файлы, заканчивающиеся на .php
источник
Попробуйте это в
.htaccess
:источник