IndexIgnore * или опции -Indexes - программирование
Подтвердить что ты не робот

IndexIgnore * или опции -Indexes

Я всегда использовал Options -Indexes для отключения списка каталогов через .htaccess. Тем не менее, я видел людей, использующих IndexIgnore * вместо этого. Какая разница? Что лучше другого?

4b9b3361

Ответ 1

Директива IndexIgnore - это шаблон, в котором файлы в каталоге с Indexes включен не отображаются в автоиндекс, если они соответствуют шаблону.

Скажем, например, у нас есть каталог, foo и внутри этого каталога, у нас есть файл .htaccess и 3 файла, a, b и c.

Если в файле htaccess есть Options -Indexes, то, перейдя в http://mysite.com/foo/, я получу 403 Запретный ответ, потому что нет индексного файла (index.html, index.php и т.д.) и auto- индекс отключается через -Indexes.

Если в файле htaccess есть IndexIgnore b, то, перейдя в http://mysite.com/foo/, я получу ответ автоиндекса, в котором перечислены файлы, a и c. Файл b будет отсутствовать, поскольку он был проигнорирован. Если в файле htaccess есть IndexIgnore *, и мы переходим к http://mysite.com/foo/, мы получим файл автоиндекса, который пуст, так как все файлы были проигнорированы.

Что лучше, это зависит от того, что вы хотите. Они имеют принципиально две разные вещи. Вам нужны автоиндексы? Если нет, выключите его Options -Indexes. Если да, оставьте это. Если вы не хотите, чтобы некоторые вещи отображались в автоматическом индексе, используйте IndexIgnore.