.htaccess - .htaccess

An .htaccess (гипертекст доступ) файл является каталог -уровень конфигурационный файл поддерживается несколькими веб-серверы, используется для настройки интернет сайт - проблемы с доступом, такие как Перенаправление URL, Сокращение URL, контроль доступа (для разных веб-страница и файлы) и многое другое. 'Точка' (период или же полная остановка ) до того, как имя файла сделает его скрытый файл в Unix -среды.

На сайте может быть более одного .htaccess файл, и файлы помещаются внутри веб-дерева (то есть внутри каталогов и их подкаталогов), и, следовательно, их другое имя распределенные файлы конфигурации.[1]

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

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

Формат и язык

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

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

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

Авторизация, аутентификация
Файл .htaccess часто используется для указания ограничений безопасности для каталога, отсюда и имя файла "доступ". .htaccess файл часто сопровождается .htpasswd файл, в котором хранятся действительные имена пользователей и их пароли.[5]
Перезапись URL
Сервера часто используют .htaccess за переписывание длинные, чрезмерно подробные URL-адреса на более короткие и запоминающиеся.
Блокировка (контроль доступа)
Использовать разрешить / запретить для блокировки пользователей по IP-адресу или домену. Также используется для блокировки плохих ботов, рипперов и рефереров. Часто используется для ограничения доступа поисковые роботы.
SSI
Давать возможность серверная часть включает.
Список каталогов
Контролируйте, как сервер будет реагировать, если не указана конкретная веб-страница.
Индивидуальные ответы на ошибки
Изменение страницы, которая отображается при возникновении ошибки на стороне сервера, например HTTP 404 не найден или, чтобы указать поисковой системе, что страница переместилась, HTTP 301 перемещен навсегда.[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 обычно очень чувствителен к синтаксическим ошибкам. Из-за этого любые орфографические ошибки могут привести к 501 ошибке сервера и веб-ресурсам в каталоге с ошибочными .htaccess вообще не отображается.

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

Рекомендации

  1. ^ Учебное пособие по HTTP-серверу Apache: файлы .htaccess - руководство на Apache.org.
  2. ^ «Директива AllowOverride». Получено 2009-03-02.
  3. ^ «Файлы конфигурации». Получено 2009-03-02.
  4. ^ "Использование файла .htaccess", Oracle.com
  5. ^ «Учебное пособие по Apache: форматы паролей». Получено 2009-03-02.
  6. ^ "Справка Инструментов для веб-мастеров: переадресация 301". Получено 2012-03-27.
  7. ^ «Как создать и отредактировать файл htaccess WordPress для ускорения работы вашего сайта». WP Enlight. 2017-07-29. Получено 2017-09-12.
  8. ^ «Учебник по Apache: когда (не) использовать файлы .htaccess». Получено 2008-01-12.
  9. ^ «Файлы конфигурации - HTTP-сервер Apache». Получено 2008-01-12.
  10. ^ «Когда не следует использовать файлы .htaccess». Httpd.apache.org. Получено 2009-09-02.
  11. ^ "Как преобразовать .htaccess в записи httpd.conf".
  12. ^ «Защита настроек системы». Получено 2009-03-02.

внешняя ссылка