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