.Htaccess ( гипертекстовый доступ файл) представляет собой каталог уровневый файл конфигурации поддерживается несколькими веб - серверов , используемых для настройки веб - сайта -Access вопросов, таких , как перенаправление URL , URL укорочение , контроль доступа (для различных веб - страниц и файлов), и более. «Точка» ( точка или точка ) перед именем файла делает его скрытым в средах на основе Unix .
Сайт может иметь более одного .htaccessфайла, и эти файлы размещаются внутри веб-дерева (то есть внутри каталогов и их подкаталогов), и, следовательно, их другое имя - файлы распределенной конфигурации . [1]
.htaccessФайлы действуют как подмножество файла глобальной конфигурации сервера (например httpd.conf) для каталога, в котором они находятся, или всех подкаталогов. [2]
Первоначальная цель - .htaccessотраженная в его названии - заключалась в том, чтобы разрешить управление доступом к каталогу, например, путем запроса пароля для доступа к содержимому World Wide Web . Однако чаще всего .htaccessфайлы определяют или переопределяют многие другие параметры конфигурации, такие как тип содержимого, набор символов , обработчики интерфейса общего шлюза и т. Д.
Формат и язык [ править ]
.htaccessфайлы написаны в варианте директив Apache языка Perl-совместимых регулярных выражений (PCRE). Само изучение основ PCRE может помочь в освоении работы с этими файлами.
По историческим причинам формат .htaccessфайлов является ограниченным подмножеством файла глобальной конфигурации HTTP-сервера Apache httpd.conf[3], даже если он используется с веб-серверами, такими как Oracle iPlanet Web Server [4] и Zeus Web Server, которые имеют очень разные собственные глобальные настройки. файлы конфигурации.
Обычное использование [ править ]
- Авторизация , аутентификация
- Файл .htaccess часто используется для указания ограничений безопасности для каталога, отсюда и имя файла " access". .htaccessФайл часто сопровождается .htpasswdфайлом , который хранит действительные имена пользователей и их пароли . [5]
- Перезапись URL
- Серверы часто используют .htaccessдля перезаписи длинных чрезмерно исчерпывающих URL-адресов на более короткие и запоминающиеся.
- Блокировка (контроль доступа)
- Используйте разрешить / запретить, чтобы заблокировать пользователей по IP-адресу или домену. Также используется для блокировки плохих ботов, рипперов и рефереров. Часто используется для ограничения доступа поисковых роботов .
- SSI
- Включить серверные включения .
- Список каталогов
- Управляйте реакцией сервера, если не указана конкретная веб-страница.
- Индивидуальные ответы на ошибки
- Изменение страницы, которая отображается при возникновении ошибки на стороне сервера, например HTTP 404 Not Found или, чтобы указать поисковой системе, что страница была перемещена, HTTP 301 Moved Permanently . [6]
- Типы MIME
- Укажите серверу, как обращаться с разными типами файлов.
- Управление кешем
- .htaccessфайлы позволяют серверу управления кэширования с помощью веб - браузеров и прокси - серверов для ускорения веб - сайтов, [7] уменьшить пропускную способность использования, сервер нагрузки, и воспринимаемый лаг . .htaccessтакже добавляет возраст кеша к ресурсам веб-страницы, так что при повторном посещении страницы элементы перезагружаются из кеша браузера до истечения указанного срока, вместо повторного запроса ресурса с сервера.
- HTTPS и HSTS
- Реализация как HTTPS, так и HSTS на серверах Apache во многом зависит от правильной перезаписи URL и информации заголовка, указанной в .htaccessфайле. Любой неправильный синтаксис в файле при развертывании HTTPS или HSTS приводит к сбою в реализации.
Преимущества [ править ]
- Немедленные изменения
- Поскольку .htaccessфайлы читаются при каждом запросе, изменения, внесенные в эти файлы, вступают в силу немедленно - в отличие от основного файла конфигурации, который требует перезапуска сервера, чтобы новые настройки вступили в силу.
- Непривилегированные пользователи
- Для серверов с несколькими пользователями, например, на общем веб-хостинге , часто желательно предоставить отдельным пользователям возможность изменять конфигурацию своего сайта. Использование .htaccessфайлов допускает такую индивидуализацию и для непривилегированных пользователей - потому что основные файлы конфигурации сервера не нужно изменять. [8]
Недостатки [ править ]
Управление Apache с помощью главного файла конфигурации сервера httpd.conf[9] часто предпочтительнее по соображениям безопасности и производительности: [10]
- Потеря производительности
- Для каждого HTTP-запроса существуют дополнительные обращения к файловой системе для родительских каталогов при использовании .htaccess, чтобы проверить, возможно, существующие .htaccessфайлы в тех родительских каталогах, которым разрешено хранить .htaccessфайлы. Если эта потеря производительности вызывает беспокойство, можно программно перенести директивы из .htaccessв httpd.confв. [11]
- Безопасность
- Разрешение отдельным пользователям изменять конфигурацию сервера может вызвать проблемы с безопасностью, если он не настроен должным образом. [12]
- Синтаксис
- .htaccessобычно очень чувствителен к синтаксическим ошибкам. Из-за этого любые орфографические ошибки могут привести к 501 ошибке сервера, а веб-ресурсы в каталоге, при этом ошибочные .htaccessне будут отображаться вообще.
В популярной культуре [ править ]
Части видеоигры 2020 года Mackerelmedia Fish , в которой исследуются темы интернет-культуры, были реализованы непосредственно в открытых .htaccessкаталогах веб-сайта . [13]
См. Также [ править ]
- Семантический URL
- Переписать движок
Ссылки [ править ]
- ^ Учебное пособие по HTTP-серверу Apache: файлы .htaccess - Руководство на Apache.org.
- ^ "Директива AllowOverride" . Проверено 2 марта 2009 .
- ^ «Файлы конфигурации» . Проверено 2 марта 2009 .
- ^ "Использование файла .htaccess" , Oracle.com
- ^ «Учебник Apache: форматы паролей» . Проверено 2 марта 2009 .
- ^ «Справка Инструментов для веб-мастеров: 301 редирект» . Проверено 27 марта 2012 .
- ^ «Как создать и отредактировать файл WordPress htaccess для ускорения работы вашего сайта» . WP Enlight . 2017-07-29. Архивировано из оригинала на 2017-09-12 . Проверено 12 сентября 2017 .
- ^ «Apache Tutorial: Когда (не) использовать файлы .htaccess» . Проверено 12 января 2008 .
- ^ «Файлы конфигурации - HTTP-сервер Apache» . Проверено 12 января 2008 .
- ^ «Когда не использовать файлы .htaccess» . Httpd.apache.org . Проверено 2 сентября 2009 .
- ^ «Как преобразовать .htaccess в записи httpd.conf» .
- ^ «Защита системных настроек» . Проверено 2 марта 2009 .
- ^ Мортон, Lauren (2020-03-30). «Посмотрите на эту дурацкую ARG про изучение заброшенных веб-сайтов» . Камень, бумага, дробовик . Проверено 20 августа 2020 .
Внешние ссылки [ править ]
- Учебное пособие по Apache Docs: файлы .htaccess