Позначте потрібні блоки, і генератор збере готовий файл .htaccess з коментарями до кожного правила. Для захисту паролем він також створить рядок для .htpasswd: пароль хешується у вашому браузері алгоритмом APR1 MD5, який розуміє Apache, і нікуди не надсилається.
Що вміє генератор
- HTTPS і www. Якщо вказати основний домен, переспрямування на HTTPS і на обраний варіант 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 у кінці.
Редиректи без петель
Найчастіша проблема після редагування .htaccess це петля переспрямувань. Вона виникає, коли сайт стоїть за проксі чи CDN, що з’єднується з сервером по HTTP: сервер бачить звичайний HTTP і знову відправляє на HTTPS. Як це діагностувати, пояснено в статті про помилку ERR_TOO_MANY_REDIRECTS, а більше готових прикладів для Apache, Nginx і WordPress зібрано в статті про 301 редирект.
Пароль на сайт
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/.
Чи безпечно блокувати xmlrpc.php?
Так, якщо ви не користуєтеся Jetpack і мобільним застосунком WordPress, яким цей файл потрібен.