.htaccess

.htaccess (от. англ. hypertext access) — файл дополнительной конфигурации веб-сервера Apache. Позволяет задавать большое количество дополнительных параметров и разрешений для работы веб-сервера в отдельных каталогах (папках), таких как управляемый доступ к каталогам, переназначение типов файлов и т. д., без изменения главного конфигурационного файла.

Файл .htaccess был создан для того, чтобы появилась возможность менять конфигурацию сервера каждому пользователю, затрагивая только свой собственный сайт, а не весь сервер целиком.

Область применения .htaccess:

  • Авторизация, аутентификация
  • Файлы .htaccess часто используются для указания ограничений для конкретной директории. Файл .htaccess часто используется вместе с .htpasswd, который сохраняет имена пользователей и их пароли.
  • Собственные страницы ошибок
  • Изменение страниц, которые отдаются при ошибках на стороне сервера, например HTTP 404 Not Found.
  • Изменение URL-адресов
  • Серверы используют .htaccess для изменения длинных, излишне сложных URL-адресов на короткие и легко запоминающиеся.
  • Контроль кэша
  • Файлы .htaccess позволяют серверу контролировать кэширование веб-браузерами и кэширующими прокси для уменьшения использования полосы, загрузки сервера и лагов.
  • Изменение опций веб-сервера и его плагинов
  • Некоторые веб-серверы допускают изменение опций через .htaccess, например, опций PHP-плагина.

Особенности использования .htaccess:

Таким образом, с помощью .htaccess пользователь получает следующие возможности:

  1. Директивы простого перенаправления (редирект);
  2. Директивы сложного перенаправления (mod_rewrite);
  3. Индексные страницы;
  4. Обработка ошибок;
  5. Определение кодировки;
  6. Управление доступом к директориям и файлам;
  7. Паролирование директорий;
  8. Опции PHP.

В нем можно переопределить большое количество директив, прописанных в главном файле httpd.confg. Если расположить .htaccess-файл в корневой каталог, он распространится на весь сайт (исключения составят только те каталоги, в которых расположен собственный конфигурационный файл, и каталоги, расположенные ниже в древовидной структуре). Разместить .htaccess-файл можно в любой каталог, а его директивы будут применены ко всем подкаталогам .htaccess не доступен пользователю для просмотра из браузера, так как относится к категории «системные».