Что делает инструмент
Генератор .htaccess пишет конфигурационный файл Apache для самых частых задач: принудительный HTTPS, выбор между www.example.com и example.com, постоянные 301-редиректы, собственная страница 404, сжатие gzip, кэширование в браузере, заголовки безопасности, CORS, защита изображений от хотлинкинга и fallback для одностраничных приложений.
Каждая функция включается переключателем. Файл обновляется при изменении параметров, содержит короткие комментарии к каждому блоку и оборачивает правила, зависящие от модулей, в <IfModule>, чтобы сайт продолжал работать, даже если модуля нет.
Как пользоваться
- Введите Домен (он нужен для правил www и хотлинкинга).
- Включите нужные функции. Принудительный HTTPS и Префикс www объединяются в один редирект, поэтому посетителей никогда не перебрасывает дважды.
- Добавьте 301-редиректы парами
old new, разделёнными;, например/old-page /new-page; /blog https://blog.example.com. - Скопируйте результат или нажмите Скачать, чтобы сохранить его как
.htaccess. - Загрузите файл в корневой каталог сайта и проверьте несколько URL — в идеале сначала на тестовом сервере.
Пример
Принудительный HTTPS и удаление www для example.com дают:
<IfModule mod_rewrite.c>
RewriteEngine On
# Force HTTPS and remove www
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^example\.com$ [NC]
RewriteRule ^ https://example.com%{REQUEST_URI} [L,R=301]
</IfModule>
Советы
- Браузеры кэшируют 301-редиректы. Во время тестирования используйте приватное окно или очищайте кэш.
- Включайте HSTS (входит в заголовки безопасности при принудительном HTTPS) только после того, как HTTPS заработает на всех поддоменах.
- Используйте fallback для одностраничных приложений на React, Vue или Angular с клиентской маршрутизацией.
Частые вопросы
› Куда положить файл .htaccess?
В корневой каталог сайта (папку, где лежит index.html или index.php) на сервере Apache. Правила действуют и на все вложенные папки.
› Будет ли это работать на Nginx?
Нет. .htaccess читают только Apache и совместимые серверы, например LiteSpeed. Для Nginx те же правила нужно записать в его собственной конфигурации сервера.
› Почему после загрузки файла появляется ошибка 500?
Обычно не включён модуль, который использует файл. Каждый блок обёрнут в <IfModule>, но правила mod_rewrite и Options -Indexes всё равно могут не сработать, если хостинг запрещает их через AllowOverride. Удаляйте разделы по одному, чтобы найти виновника.
› Как записывать редиректы?
Вводите пары «старый путь — новый URL», разделённые точками с запятой, например /old /new; /blog https://blog.example.com. Каждая пара становится постоянным 301-редиректом.