Веб сервер Apache имеет несколько директив (находятся в файле httpd. conf), которые определяют, что будет показано, когда посетитель заходит в какую-то папку. Прежде всего, это DirectoryIndex Она определяет, какой файл будет отправлен посетителю, если он не указал его имя явно. В параметрах этой директивы перечисляются имена файлов. Например: DirectoryIndex index. php index. html index. htm Приоритет имеет тот файл, который идет первым в списке. Т. е. если папка содержит index. php и index. html, то посетителю будет отправлен index. php. Теперь небольшой пример. Допустим, сайт имеет такую структуру.
/ index. html page1.html page2.html css/ styles. css
По адресу http://sitename/ вы увидите страницу index. html. Но если зайти в папку css (http://sitename/css), то картинка будет примерно такая Список файлов на сервере Т. е. сервер покажет вам список файлов в этой папке. Не думаю, что кому-то понравится такое поведение сервера. Исправить ситуацию можно с помощью директивы: Options – Indexes Примечание: символ «-» перед словом Indexes означает, что индексирование содержимого папок запрещено. Теперь если вы попытаетесь зайти в папку css, то увидите сообщение: Forbidden You don't have permission to access /css/ on this server. (у вас нет прав для доступа к /css/ на этом сервере). При этом доступ к файлу styles. css (http://sitename/css/styles. css) сохраняется. Если вы не можете конфигурировать Apache (например, сайт находится на shared хостинге), то создайте в корне сайта файл. htaccess с этой директивой. В этом случае индексирование будет запрещено не только для корневой папки, но и для всех вложенных папок (если, конечно, они не содержат своих файлов. htaccess). Правда, этот метод может не работать. Дело в том, что обработка файлов. htaccess может быть запрещена директивой AllowOverride none (в файле httpd. conf). В этом случае вам нужен либо доступ к httpd. conf, либо придется в каждой папке размещать файлы index.
html с каким-нибудь текстом (что-то вроде Access forbidden). Кстати, разработчики фреймворка CodeIgniter именно так и поступают (в каждой вложенной в system папке находится index. html). Примечание. Для того чтобы вступили в силу изменения в httpd. conf нужно перезапустить сервер.
Изменения в. htaccess начнут работать сразу после сохранения файла. Спонсор статьи: Записки webмастера. Читать всем!