Отметьте нужные блоки, и генератор соберет готовый файл .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.
Как установить файл
- Сохраните копию текущего .htaccess: если что-то пойдет не так, вы вернете ее за минуту.
- Откройте файл в корне сайта через файловый менеджер, FTP или SSH. В WordPress уже есть блок между
# BEGIN WordPressи# END WordPress: новые правила добавляйте выше него, а сам блок не трогайте. - Проверьте сайт. Ошибка 500 почти всегда означает директиву, которую сервер не поддерживает, чаще всего php_value. Верните копию и уберите блок, который ее вызвал.
- Проверьте редиректы со всех вариантов адреса нашей проверкой редиректов: должен быть один шаг 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: им этот файл нужен.