Техническое SEO · 14 октября 2026 · 3 мин чтения
Редиректы в .htaccess: базовые правила для сайтов на Apache
Эта страница на узбекском: /uz/blog/htaccess-orqali-redirekt
Файл .htaccess — конфигурационный файл веб-сервера Apache, который лежит в папке сайта и действует на неё и вложенные папки. На виртуальном хостинге это часто единственный способ настроить редиректы на уровне сервера. Многие CMS, включая WordPress и Битрикс, уже используют этот файл для своих правил, поэтому править его нужно аккуратно.
Перед началом
- Убедитесь, что сайт работает на Apache, а не на nginx: на чистом nginx .htaccess не читается
- Скачайте копию текущего файла, чтобы быстро откатить изменения
- Проверьте, что на хостинге включён модуль mod_rewrite, если будете использовать RewriteRule
- Вносите правила по одному и проверяйте после каждого
Ошибка в синтаксисе .htaccess обычно приводит к ошибке 500 на всём сайте. Не паникуйте: верните сохранённую копию.
Редирект одной страницы
Самый простой способ — директива Redirect из модуля mod_alias:
Redirect 301 /old-page/ https://example.uz/new-page/Слева указывается путь от корня сайта, справа — полный новый адрес. Подходит для небольшого списка отдельных страниц.
Редирект раздела с сохранением пути
Если папка переименована, а адреса внутри неё остались прежними, используйте RedirectMatch или RewriteRule:
RewriteEngine On
RewriteRule ^stati/(.*)$ /blog/$1 [R=301,L]Всё, что было в папке stati, переедет в blog с тем же окончанием адреса. Флаг R=301 задаёт постоянный редирект, флаг L останавливает обработку следующих правил для этого запроса.
Переход на https и главное зеркало
Правило для перевода всех запросов на https без www одним шагом:
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www. [NC]
RewriteRule ^(.*)$ https://example.uz/$1 [R=301,L]Если хостинг стоит за прокси или балансировщиком, переменная HTTPS может работать иначе, и правило зациклится. В таком случае уточните у хостинга, как определяется защищённое соединение, или включите https в панели управления.
Смена домена
При переезде на новый домен в .htaccess старого сайта ставят правило, перенаправляющее любой адрес на тот же путь нового домена. Старый хостинг при этом нужно оплачивать, пока поисковики не переклеят сайт и пока на старые адреса идут люди по закладкам и ссылкам.
Порядок правил важен
Apache обрабатывает правила сверху вниз. Частные правила для конкретных страниц ставьте выше общих, иначе общее правило сработает первым. Собственные редиректы размещайте до блока правил CMS: например, в WordPress это блок между комментариями BEGIN WordPress и END WordPress, который плагины могут перезаписывать. Свои правила внутри этого блока могут пропасть после обновления.
Типичные ошибки
- RewriteEngine On не указан перед правилами RewriteRule
- Используется 302 вместо 301, потому что флаг R указан без кода
- Правила дублируют друг друга и создают цепочки
- Редирект на главную для всех удалённых страниц
- Сотни отдельных правил Redirect, которые замедляют обработку каждого запроса
Если редиректов очень много, рассмотрите плагин или модуль CMS с таблицей редиректов либо перенос правил в конфигурацию сервера.
Где искать файл
Файл лежит в корне сайта, рядом с index.php или index.html. Имя начинается с точки, поэтому некоторые файловые менеджеры и FTP-клиенты по умолчанию его скрывают — включите показ скрытых файлов. Если файла нет, его можно создать, но сначала уточните у хостинга, читается ли он вообще.
Как проверить
После каждого изменения откройте сайт в режиме инкогнито и проверьте несколько адресов: старые, новые и не связанные с правилом, чтобы убедиться, что ничего не задели. Код ответа смотрите в инструментах разработчика или онлайн-сервисе проверки заголовков. Браузер кэширует постоянные редиректы, поэтому ошибочно настроенный 301 может «застрять» в вашем браузере даже после исправления — проверяйте в чистом окне.
Заявка на SEO-аудит
Оставьте адрес сайта и телефон — свяжемся и расскажем, что мешает сайту расти в поиске.
Заказать аудит