[24-10-2005] Джо
Сразу об одной особенности файла .htaccess - он в Unix-формате - конец строки обозначает 1 символ, а не два, как в Windows. Для того, чтобы создать или редактировать этот файл нужен текстовый редактор, способный сохранять текст в Unix-формате. Например, встроенный редактор оболочки Far или аналог Блокнота - Bred.
Файл .htaccess предназначен для гибкой настройки сайта пользователями. Вот некоторые его возможности:
Область действия файла .htaccess - папка в которой он находится и все вложенные папки, если в них нет своего файла .htaccess.
Вот примерный вид файла .htaccess :
Options -Indexes
AddDefaultCharset windows-1251
ErrorDocument 403 /index.php
ErrorDocument 404 /index.php
ErrorDocument 500 /guest.php
<FilesMatch "\.(cfg|txt)$">
order allow,deny
deny from all
</FilesMatch>
В нем решены наиболее часто встречающиеся задачи, а именно:
Options -Indexes - запрещает показывать содержимое папки, если в ней нет индексного файла.
AddDefaultCharset windows-1251 - указывает браузеру кодировку по умолчанию.
ErrorDocument 403 /index.php - в случае вызова запрещенной к доступу страницы сервер загружает главную страницу сайта (домена).
ErrorDocument 404 /index.php - в случае вызова несуществующей страницы сервер загружает главную страницу сайта (домена).
ErrorDocument 500 /guest.php - в случае внутренней ошибки сервера вызывается гостевая. Мой хостер чаще всего радует меня ошибками MySQL и таймаутом при обращении к ней же, поэтому 500 ошибка вызывает загрузку страницы, не завязанной на базу.
<FilesMatch "\.(cfg|txt)$">
order allow,deny
deny from all
</FilesMatch>
Эта конструкция запрещает доступ к файлам с расширениями cfg и txt. Если в файле .htaccess определена директива ErrorDocument 403, попытка доступа к файлам с этим расширением будет приводить к загрузке главной страницы сайта ( домена ).
Если нужно совсем закрыть папку необходимы только директивы
order allow,deny
deny from all
Думаю, для большинства случаев файла .htaccess, подобного приведенному выше, вполне достаточно.