Перейти к содержимому
Почта Личный кабинет Выбрать тариф

Генератор .htaccess

Соберите файл .htaccess из готовых блоков: HTTPS и www, 301 редиректы, страницы ошибок, сжатие, кэш, защита файлов и пароль со строкой для .htpasswd.

Отметьте нужные блоки, и генератор соберет готовый файл .htaccess с комментарием над каждым правилом. Для защиты паролем он сразу создает строку для .htpasswd: пароль хэшируется прямо в браузере алгоритмом APR1 MD5, который понимает Apache, и никуда не отправляется.

Что умеет генератор

  • HTTPS и www. Если указать основной домен, редирект на HTTPS и на выбранную форму с www или без www выполняется одним шагом 301, без цепочки.
  • Слэш в конце адреса. Добавляет или убирает завершающий слэш, не затрагивая реальные файлы и каталоги.
  • Отдельные 301 редиректы. По одному на строку: старый путь и новый адрес.
  • Свои страницы ошибок для 404, 403 и 500.
  • Сжатие gzip и кэширование в браузере для текстовых и статических файлов.
  • Безопасность: запрет листинга каталогов, закрытый веб-доступ к wp-config.php, .env, .htpasswd и другим служебным файлам, блокировка xmlrpc.php и заголовок HSTS.
  • Пароль на сайт или каталог через Basic Auth.
  • Настройки PHP вместе с аналогом для .user.ini.

Как установить файл

  1. Сохраните копию текущего .htaccess: если что-то пойдет не так, вы вернете ее за минуту.
  2. Откройте файл в корне сайта через файловый менеджер, FTP или SSH. В WordPress уже есть блок между # BEGIN WordPress и # END WordPress: новые правила добавляйте выше него, а сам блок не трогайте.
  3. Проверьте сайт. Ошибка 500 почти всегда означает директиву, которую сервер не поддерживает, чаще всего php_value. Верните копию и уберите блок, который ее вызвал.
  4. Проверьте редиректы со всех вариантов адреса нашей проверкой редиректов: должен быть один шаг 301 и ответ 200 в конце.

Редирект с www и на HTTPS без петель

Самая частая проблема после правки .htaccess это бесконечный редирект. Он возникает, когда сайт стоит за прокси или CDN, которые обращаются к серверу по HTTP: сервер видит обычный HTTP и снова отправляет посетителя на HTTPS. Как найти причину, описано в статье об ошибке ERR_TOO_MANY_REDIRECTS, а готовые примеры редиректов с одной страницы на другую, с домена на домен и для Nginx собраны в статье 301 редирект в .htaccess и Nginx.

Пароль на сайт и строка для .htpasswd

Basic Auth удобен для тестовой копии сайта или служебного каталога. Генератор выдает две части: правила для .htaccess и строку для .htpasswd. Храните .htpasswd вне публичного каталога и указывайте в AuthUserFile полный путь от корня сервера. Надежный пароль подберет наш генератор паролей. Basic Auth передает пароль с каждым запросом, поэтому используйте его только вместе с HTTPS.

Настройки PHP: php_value или .user.ini

Строки php_value в .htaccess работают, только если PHP подключен как модуль Apache или сайт работает на LiteSpeed. Если PHP запущен через PHP-FPM, такая строка вызывает ошибку 500. Генератор оборачивает их в проверку модуля и дополнительно выдает вариант для .user.ini, который работает с FPM. На хостинге RichHost версию PHP можно переключить в панели управления, а файл отредактировать по SSH на любом из тарифов хостинга.

Подробнее о самом файле, порядке директив и типичных правилах читайте в статье файл .htaccess: примеры правил.

Частые вопросы

Где находится файл .htaccess?

В корневом каталоге сайта, рядом с index.php. Имя начинается с точки, поэтому некоторые файловые менеджеры показывают его только при включенном отображении скрытых файлов.

Работает ли .htaccess на Nginx?

Нет, Nginx его не читает. Генератор рассчитан на Apache и LiteSpeed.

Как сделать 301 редирект со старой страницы?

Впишите в поле 301 строку /old-page.html /new-page/. Генератор превратит ее в Redirect 301 /old-page.html /new-page/.

Как настроить редирект с www на без www?

Укажите основной домен без www и включите блок HTTPS и www. Генератор соберет одно правило, которое сразу ведет и на HTTPS, и на адрес без www.

Безопасно ли блокировать xmlrpc.php?

Да, если вы не пользуетесь Jetpack или мобильным приложением WordPress: им этот файл нужен.