.htaccess - .htaccess

.Htaccess ( гипертекстовый доступ файл) представляет собой каталог уровневый файл конфигурации поддерживается несколькими веб - серверов , используемых для настройки веб - сайта -Access вопросов, таких , как перенаправление URL , URL укорочение , контроль доступа (для различных веб - страниц и файлов), и более. «Точка» ( точка или точка ) перед именем файла делает его скрытым в средах на основе Unix .

Сайт может иметь более одного .htaccessфайла, и эти файлы размещаются внутри веб-дерева (т. Е. Внутри каталогов и их подкаталогов), и, следовательно, их другое имя - файлы распределенной конфигурации .

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

Первоначальная цель - .htaccessотраженная в его названии - заключалась в том, чтобы разрешить управление доступом к каталогу, например, путем запроса пароля для доступа к содержимому World Wide Web . Однако чаще всего .htaccessфайлы определяют или переопределяют многие другие параметры конфигурации, такие как тип содержимого, набор символов , обработчики интерфейса общего шлюза и т. Д.

Формат и язык

.htaccessфайлы написаны в варианте директив Apache языка Perl-совместимых регулярных выражений (PCRE). Само изучение основ PCRE может помочь в освоении работы с этими файлами.

По историческим причинам формат .htaccessфайлов является ограниченным подмножеством файла глобальной конфигурации HTTP-сервера Apache,httpd.conf даже если он используется с веб-серверами, такими как Oracle iPlanet Web Server и Zeus Web Server, которые имеют очень разные собственные файлы глобальной конфигурации.

Общее использование

Авторизация , аутентификация
Файл .htaccess часто используется для указания ограничений безопасности для каталога, отсюда и имя файла " access". .htaccessФайл часто сопровождается .htpasswdфайлом , который хранит действительные имена пользователей и их пароли .
Перезапись URL
Серверы часто используют .htaccessдля перезаписи длинных чрезмерно исчерпывающих URL-адресов на более короткие и запоминающиеся.
Блокировка (контроль доступа)
Используйте разрешить / запретить, чтобы заблокировать пользователей по IP-адресу или домену. Также используется для блокировки плохих ботов, рипперов и рефереров. Часто используется для ограничения доступа поисковых роботов .
SSI
Включить серверные включения .
Список каталогов
Управляйте реакцией сервера, если не указана конкретная веб-страница.
Индивидуальные ответы на ошибки
Изменение страницы, которая отображается при возникновении ошибки на стороне сервера, например HTTP 404 Not Found или, чтобы указать поисковой системе, что страница была перемещена, HTTP 301 Moved Permanently .
Типы MIME
Укажите серверу, как обращаться с разными типами файлов.
Управление кешем
.htaccessфайлы позволяют серверу управления кэширования с помощью веб - браузеров и прокси - серверов для ускорения веб - сайтов, уменьшить пропускную способность использования, сервер нагрузки, и воспринимаемый лаг . .htaccessтакже добавляет возраст кеша к ресурсам веб-страницы, так что при повторном посещении страницы элементы перезагружаются из кеша браузера до истечения указанного срока, вместо повторного запроса ресурса с сервера.
HTTPS и HSTS
Реализация как HTTPS, так и HSTS на серверах Apache во многом зависит от правильной перезаписи URL и информации заголовка, указанной в .htaccessфайле. Любой неправильный синтаксис в файле при развертывании HTTPS или HSTS приводит к сбою в реализации.

Преимущества

Немедленные изменения
Поскольку .htaccessфайлы читаются при каждом запросе, изменения, внесенные в эти файлы, вступают в силу немедленно - в отличие от основного файла конфигурации, который требует перезапуска сервера, чтобы новые настройки вступили в силу.
Непривилегированные пользователи
Для серверов с несколькими пользователями, например, на общем веб-хостинге , часто желательно предоставить отдельным пользователям возможность изменять конфигурацию своего сайта. Использование .htaccessфайлов допускает такую ​​индивидуализацию и для непривилегированных пользователей - потому что основные файлы конфигурации сервера не нужно изменять.

Недостатки

Управление Apache с помощью главного файла конфигурации сервера httpd.confчасто предпочтительнее по соображениям безопасности и производительности:

Потеря производительности
Для каждого HTTP-запроса существуют дополнительные обращения к файловой системе для родительских каталогов при использовании .htaccess, чтобы проверить, возможно, существующие .htaccessфайлы в тех родительских каталогах, которым разрешено хранить .htaccessфайлы. Если эта потеря производительности вызывает беспокойство, можно программно перенести директивы из .htaccessв httpd.confв.
Безопасность
Разрешение отдельным пользователям изменять конфигурацию сервера может вызвать проблемы с безопасностью, если он не настроен должным образом.
Синтаксис
.htaccessобычно очень чувствителен к синтаксическим ошибкам. Из-за этого любые орфографические ошибки могут привести к ошибкам сервера, а веб-ресурсы в каталоге, а ошибочные .htaccessвообще не будут отображаться.

В популярной культуре

Части видеоигры 2020 года Mackerelmedia Fish , в которой исследуются темы интернет-культуры, были реализованы непосредственно в открытых .htaccessкаталогах веб-сайта .

Смотрите также

использованная литература

внешние ссылки