Генераторы

Генератор .htaccess

301-редиректы, ЧПУ, канонизация домена для Apache/OLS.

  

Настройка редиректов через .htaccess

Сайт, доступный сразу по четырём адресам (http://example.ru, https://example.ru, http://www.example.ru, https://www.example.ru), для поисковика выглядит как четыре разных ресурса с одинаковым содержимым. Вес внешних ссылок дробится, в индекс попадает случайный вариант, а в отчётах Метрики трафик размазан по нескольким строкам. Склейка 301-редиректом на один канонический адрес закрывает вопрос за вечер.

Что задать в генераторе

Готовый блок вставьте в начало файла .htaccess в корне сайта, выше правил CMS. Порядок принципиален: Apache читает директивы сверху вниз и останавливается на первом сработавшем правиле с флагом [L].

Как проверить, что всё встало

Откройте старый адрес и посмотрите на цепочку. Правильная выглядит так: один запрос, один ответ 301, конечный адрес отдаёт 200. Через консоль это делается одной командой:

curl -sSI -A "Mozilla/5.0" http://example.ru/old-page/

Смотрите строки HTTP/ и Location. Двойной прыжок с http на https, а оттуда на www технически работает, только каждый лишний переход добавляет задержку и слегка размывает передаваемый вес. Правило протокола и правило домена лучше объединить в одно, а не ставить два подряд.

Где .htaccess не работает

Nginx этот файл не читает вообще, там правила пишут в конфиг сервера директивами return 301 и rewrite. OpenLiteSpeed синтаксис Rewrite понимает, но подхватывает изменения не сразу: после каждой правки нужен lswsctrl restart. Без рестарта вы будете тестировать старую версию правил и гадать, почему ничего не поменялось. Директиву Header set OpenLiteSpeed игнорирует полностью, заголовки там задают в настройках виртуального хоста.

Ошибки, которые кладут сайт

Что сделать после установки

Скопируйте старый .htaccess до заливки нового. Восстановление из копии занимает 10 секунд, а разбор упавшего сайта без неё растягивается на час. Дальше дайте знать поисковикам: в Яндексе склейка зеркал занимает от 2 до 6 недель, Google обычно обновляет данные быстрее. Старую карту сайта с прежними адресами замените новой, иначе робот будет ходить по редиректам и жечь краулинговый бюджет вместо обхода живых страниц.

Генератор работает в браузере: домен и список редиректов никуда не отправляются.

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

Куда вставлять .htaccess?

Файл .htaccess кладут в корень сайта. Он работает на серверах Apache и OpenLiteSpeed. Для Nginx правила надо переносить в конфиг сервера — синтаксис там другой.

Почему важен один вариант домена?

Если сайт открывается и на www, и без www, и по http, и по https — для поисковика это дубли одной страницы. Склейка 301-редиректом на один канонический адрес убирает дубли и не распыляет вес ссылок.

Обязательно проверять после установки?

Да. Проверьте цепочку редиректов — исходный адрес должен вести на конечный одним 301, без петель и лишних переходов.

Что делать, если появилась петля редиректа?

Уберите правило перехода на https и проверьте, не выполняет ли этот переход прокси или CDN. В режиме Flexible у Cloudflare сервер получает обычный http-запрос и снова отправляет посетителя на https, круг замыкается. Лечится переключением на режим Full либо переносом редиректа на сторону CDN.

Работают ли эти правила на Nginx?

Нет, Nginx файл .htaccess не читает. Правила переносят в конфиг сервера директивами return 301 и rewrite. На Apache и OpenLiteSpeed код работает без изменений, но OpenLiteSpeed требует рестарта после каждой правки файла.