Глоссарий: термины .htaccess и Apache
Краткий словарь терминов, которые встречаются при работе с .htaccess и Apache. Каждое определение — в 1–2 предложения; где есть детальная страница на сайте — ссылка рядом.
Термины
Конфигурация Apache
- .htaccess — конфигурационный файл Apache «на уровне каталога»: лежит рядом с файлами сайта, читается и парсируется Apache при каждом запросе. Подробно: справочник директив, AllowOverride.
- httpd.conf / apache2.conf — главный конфигурационный файл Apache, загружается один раз при старте сервера. Директивы здесь быстрее
.htaccess, так как не перечитываются при каждом запросе. - vhost (VirtualHost) — блок
<VirtualHost>в конфиге Apache, описывающий настройки одного виртуального хоста (сайта). Может содержать блок<Directory>с теми же директивами, что и.htaccess. - AllowOverride — директива в конфиге Apache, задающая, какие классы директив разрешено использовать в
.htaccess.AllowOverride All— всё разрешено;AllowOverride None—.htaccessигнорируется. Подробная статья. - AllowOverrideList — директива Apache 2.4.9+, позволяющая точечно разрешить конкретные директивы при
AllowOverride None. Подробнее. - DocumentRoot — каталог на диске, который Apache отдаёт как корень сайта. Apache читает
.htaccessначиная с DocumentRoot и вниз до каталога запрошенного файла.
mod_rewrite
- mod_rewrite — модуль Apache для гибкого переписывания и перенаправления URL на основе регулярных выражений. Туториал mod_rewrite.
- RewriteEngine — директива включения mod_rewrite:
RewriteEngine On. Без неё все RewriteRule и RewriteCond игнорируются. - RewriteRule — основная директива mod_rewrite: задаёт паттерн (регулярное выражение) и подстановку. Синтаксис:
RewriteRule паттерн подстановка [флаги]. Подробно. - RewriteCond — условие перед RewriteRule. Если указано несколько подряд — это логическое И (если добавить флаг
[OR]— ИЛИ). Подробно. - RewriteBase — задаёт базовый путь для относительных подстановок в mod_rewrite; нужен, когда сайт живёт в подкаталоге. Подробно.
- Флаги RewriteRule — модификаторы поведения в квадратных скобках. Основные:
[L](last — остановить обработку правил),[R=301](redirect),[F](forbidden, 403),[QSA](сохранить query-string),[NC](no case, без учёта регистра). Полный список. - Серверные переменные %{…} — переменные Apache, доступные в RewriteCond:
%{HTTP_HOST},%{REQUEST_URI},%{HTTPS},%{QUERY_STRING},%{HTTP_USER_AGENT}и др. Список переменных. - Бэкрефы $N / %N — обратные ссылки на захваченные группы:
$1,$2— из паттерна RewriteRule;%1,%2— из паттерна последнего сработавшего RewriteCond. Подробно.
Регулярные выражения
- PCRE (Perl Compatible Regular Expressions) — движок регулярных выражений, используемый Apache в mod_rewrite, FilesMatch, RedirectMatch и др. Тот же, что в PHP preg_*. Справочник PCRE для .htaccess.
- regex / регулярное выражение — шаблон для сопоставления строк: якоря
^$, классы символов[a-z], кванторы*+?, группы захвата(…). Справочник.
mod_alias — простые редиректы
- Redirect — директива mod_alias для простого редиректа:
Redirect 301 /old /new. Не требует mod_rewrite. Рецепты редиректов. - RedirectMatch — то же, но с регулярным выражением:
RedirectMatch 301 ^/old/(.*)$ /new/$1. Справочник.
mod_headers — HTTP-заголовки
- Header — директива mod_headers для управления HTTP-заголовками ответа:
Header set X-Frame-Options "DENY". Справочник HTTP-заголовков. - HSTS (HTTP Strict Transport Security) — заголовок безопасности, предписывающий браузеру всегда использовать HTTPS для данного домена. Справочник заголовков.
- CSP (Content Security Policy) — заголовок, ограничивающий источники загрузки ресурсов (скриптов, стилей, изображений) для защиты от XSS. Справочник заголовков.
- X-Frame-Options — заголовок, запрещающий показывать сайт во фрейме (
DENY) или разрешающий только с того же домена (SAMEORIGIN). Справочник заголовков. - X-Robots-Tag — HTTP-заголовок, аналог мета-тега robots: управляет индексацией страницы поисковиками без изменения HTML. Справочник заголовков.
- ETag — заголовок-идентификатор версии ресурса; браузер шлёт его обратно для условного запроса, сервер отвечает 304 если ресурс не изменился. Справочник: кэш.
- Cache-Control — заголовок управления кэшированием:
max-age=31536000,no-cache,immutableи др. Справочник: кэш. - Vary — заголовок, указывающий прокси-серверам, от каких заголовков запроса зависит ответ (например,
Vary: Accept-Encoding). Справочник: кэш.
mod_expires / mod_deflate
- mod_expires / ExpiresByType — модуль и директива для управления сроком жизни кэша статики по MIME-типу:
ExpiresByType image/jpeg "access plus 1 year". Справочник. - mod_deflate / gzip — модуль для сжатия текстовых ответов (HTML, CSS, JS) на лету. Уменьшает объём трафика в 3–5 раз. Справочник.
- Brotli (mod_brotli) — более эффективный алгоритм сжатия, альтернатива gzip. Поддерживается всеми современными браузерами; требует отдельного модуля Apache. Справочник.
Контейнеры и управление доступом
- <FilesMatch> — контейнер, применяющий директивы к файлам, чьё имя совпадает с регулярным выражением:
<FilesMatch "\.(sql|bak)$">. Справочник. - <IfModule> — контейнер, выполняемый только если указанный модуль загружен. Используется для безопасного использования директив, которых может не быть на сервере:
<IfModule mod_rewrite.c>. - <RequireAll> / <RequireAny> / <RequireNone> — контейнеры Apache 2.4 для логической комбинации условий доступа. Справочник.
- Require — директива управления доступом Apache 2.4:
Require all denied,Require ip 192.168.1.0/24,Require valid-user. Заменяет старые Order/Allow/Deny. Подробно. - Order / Allow / Deny — директивы управления доступом Apache 2.2 (устарели в 2.4). На Apache 2.4 используйте
Require. Конвертер 2.2→2.4. - mod_setenvif — модуль для установки переменных окружения на основе признаков запроса (User-Agent, Referer, IP). Директива:
SetEnvIfNoCase User-Agent "bot" bad_bot. Справочник.
Аутентификация
- AuthType Basic — HTTP Basic Authentication: браузер показывает диалог логин/пароль. Требует
AuthUserFileс путём к.htpasswd. Подробная статья. - .htpasswd — файл с логинами и хэшами паролей для HTTP Basic Auth. Генератор: /htpasswd/. Подробно.
Прочие директивы
- ErrorDocument — задаёт страницу ошибки для конкретного HTTP-кода:
ErrorDocument 404 /404.html. Рецепт. - Options — включает/выключает функции каталога:
Options -Indexes +FollowSymLinks. Значения:Indexes(листинг),FollowSymLinks,ExecCGI,Includes,MultiViews. Справочник. - DirectoryIndex — какой файл отдавать при запросе к каталогу:
DirectoryIndex index.php index.html. Справочник. - .user.ini — аналог
.htaccessдля настроек PHP при работе через PHP-FPM (не mod_php). Содержит php.ini-директивы, применяемые к каталогу. Подробно: хостинги. - PHP-FPM vs mod_php — два способа запуска PHP: mod_php работает внутри Apache и поддерживает php_value/php_flag в
.htaccess; PHP-FPM — отдельный процесс, php_value в.htaccessдаёт 500, нужен.user.ini. Подробно. - CGIPassAuth — директива Apache 2.4.13+, позволяющая пробрасывать HTTP Authorization-заголовок в CGI/FastCGI-скрипты (без неё авторизационный заголовок срезается). Справочник.
Понятия
- Фронт-контроллер — архитектурный паттерн: все запросы перенаправляются на один index.php, который маршрутизирует их внутри приложения. Реализуется через mod_rewrite в
.htaccess. Примеры для CMS/фреймворков. - ЧПУ (человекопонятный URL) — «красивые» URL без
.phpи параметров:/blog/moya-statya/вместо/index.php?id=42. Реализуется через mod_rewrite. Подробно. - 301 / 302 / 307 / 308 — HTTP-коды редиректа. 301 — постоянный (передаёт «вес» в SEO); 302 — временный; 307 — временный с сохранением метода; 308 — постоянный с сохранением метода. Подробно.
- 410 Gone — HTTP-код «ресурс удалён навсегда» (в отличие от 404 «не найдено»); поисковики исключают страницу быстрее. SEO и редиректы.
- Hotlink — встраивание ресурса (картинки) с вашего сервера на чужом сайте напрямую, с расходом вашего трафика. Блокируется через Referer в
.htaccess. Подробно. - MIME-тип — идентификатор формата файла:
text/html,image/webp,application/javascript. В.htaccessзадаётся директивойAddTypeилиForceType. Справочник.
Ссылки и инструменты
- Справочник директив .htaccess — полный список, по модулям, с синтаксисом и примерами.
- «Как работает mod_rewrite» — RewriteRule, RewriteCond, флаги, переменные, бэкрефы.
- «PCRE: регулярные выражения для mod_rewrite» — справочник regex для .htaccess.
- Справочник HTTP-заголовков — Header set, безопасность, кэш, CORS.
- Линтер .htaccess — проверка синтаксиса и устаревших директив.