Администрирование
Today

Файл .htaccess: Полное руководство по настройке Apache

Файл .htaccess — это конфигурационный файл веб-сервера Apache, который позволяет настраивать работу сервера прямо на уровне директорий. Не нужно лезть в глобальные настройки сервера — всё делается в одном файле.

Что важно знать сразу:

  • Apache проверяет файл при каждом запросе к сайту
  • Изменения вступают в силу моментально
  • Синтаксические ошибки = ошибка 500 (сайт ляжет)
  • Слишком много правил = просадка производительности

Базовые возможности

🔒 Контроль доступа по IP

Заблокировать конкретный IP (например, спамера):

apacheOrder Deny,Allow
Deny from 123.123.123.123

Разрешить доступ только определённым IP (для тестовой версии сайта или админки):

apacheOrder Deny,Allow
Deny from all
Allow from 123.123.123.123

🔤 Кодировка

Чтобы русский, китайский и любой другой текст отображался корректно:

apacheAddDefaultCharset UTF-8

⚠️ Кастомные страницы ошибок

Вместо стандартной 404 — своя страница с поиском и полезными ссылками:

apacheErrorDocument 404 /errors/404.html
ErrorDocument 403 /errors/403.html
ErrorDocument 500 /errors/500.html

Управление URL

Чистые URL без расширений

Превращаем site.ru/about.htmlsite.ru/about:

apacheRewriteEngine On
RewriteCond %{REQUEST_URI} (.*/[^/.]+)($|\?)
RewriteRule .* %1.html [R=301,L]

Убираем слеш в конце

site.ru/blog/site.ru/blog:

apacheRewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/$ /$1 [R=301,L]

Редирект www → без www

Важно для SEO — убираем дубли страниц:

apacheRewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

Безопасность

Защита от хотлинка

Кто-то встраивает ваши картинки на свой сайт? Показываем ему заглушку:

apacheRewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?site\.ru [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ /images/stop-hotlinking.jpg [NC,R,L]

Это только начало

В полной версии статьи на сайте разобраны:

  • 🛡 Защита от брутфорса — правила mod_security, rate-limiting, блокировка ботов
  • ⚡ Кэширование статики — как правильно настроить Expires с версионированием файлов
  • 📦 GZIP-сжатие — уменьшение размера HTML до 70%, CSS до 80%
  • 🖥 Настройка для SPA — роутинг React/Vue через .htaccess
  • 🐛 Отладка и логирование — включение логов ошибок, режим разработки
  • ❌ Типичные ошибки — что ломает сайт и как этого избежать

📎 Полная версия с примерами и готовыми конфигами → 0x.69.ru