23.06.2025

Как настроить редирект через .htaccess

Введение

Редиректы являются важнейшим инструментом для веб—сайтов компаний и обладают многочисленными преимуществами для эффективного управления:

В двух словах, редиректы незаменимы для обеспечения бесперебойной работы пользователей, поддержания SEO—рейтинга, гибкого управления изменениями в структуре сайта, контенте и URL—адресах. Они помогают сохранить авторитет бренда и предоставляют удобства пользования сайтом.

Требования к настройке

Подготовка системы

Прежде всего нам необходимо обновить все пакеты в системе и установить их:

apt update && apt upgrade -y

Скриншот №1 — Обновление

Если у вас уже есть веб—сервер с HTML или PHP—страницей, то этот этап можно пропустить, далее мы будем настраивать веб-сервер шаг за шагом. Нам необходимо загрузить пакет, в нашем примере это будет Apache. Введите следующую команду:

apt install apache2

Скриншот №2 — Установка

Сконфигурируем среду для настроек web—сервера, откроем основной конфигурационный файл:

nano /etc/apache2/apache2.conf

И изменим все параметры AllowOverride на значение All, что необходимо для корректной работы файлов .htaccess, которые мы создадим в рабочем каталоге сайта. Затем нажимаем комбинацию Ctrl+O и Ctrl+X для сохранения и выхода. Создайте рабочий каталог сайта и две html—страницы для перенаправления:

mkdir /etc/test

С помощью приведенной ниже команды создайте html—страницу для стартового перенаправления:

nano /etc/test/site1.html

Введите этот HTML—код ниже или используйте свою собственную страницу:

<! DOCTYPE html>
<html>
<head>
<title>FIRST PAGE</title>
</head>
<body>
<h1>That starting page!</h1>
</body>
</html> 

Скриншот №3 — Первая страница

С помощью приведенной ниже команды создайте html—страницу для целевого сайта:

nano /etc/test/site2.html

Введите этот HTML—код ниже или используйте свою собственную страницу:

<! DOCTYPE html>
<html>
<head>
<title>SECOND PAGE</title>
</head>
<body>
<h1>Congratulations, you are in target site!</h1>
</body>
</html>

Скриншот №4 — Вторая страница

После того как мы создали страницу для нашей манипуляции, мы можем перейти к настройкам сайта с помощью следующей команды:

nano /etc/apache2/sites-available/000-default.conf

И отредактируйте параметры соответствия для корректной работы, укажите DocumentRoot как папку, которую мы создали ранее, ServerName в этом поле введите имя домена, а в последнем для вашей директории измените AllowOverride на All! Ctr+O и Ctrl+X для сохранения и выхода из файла:

Скриншот №5 — Конфигурация сайта

Перенаправление

Теперь мы можем создать файл .htaccess для перенаправления нашей страницы по различным HTTP—кодам, для чего выполним следующую команду:

nano /etc/test/.htaccess

Для осуществления перманентного перенаправления необходимо указать HTML—страницу командой и синтаксисом, приведенными ниже:

RewriteEngine On
RewriteRule ^start$ /target [R=301, L]
RewriteRule ^start$ index.html
RewriteRule ^target$ index2.html

В первой строке мы указываем включенный статус модуля override, во второй видим правило редиректа с кодом 301, в третьей назначаем index.html стартовой меткой, а целевой в соответствии с index2.html.

Скриншот №6 — Редирект

Перезапустите веб—сервер и включите модуль override:

sudo a2enmod rewrite && systemctl restart apache2

Скриншот №7 — Перезапуск

Проверим реализацию нашего перенаправления, перейдем на сайт:

Скриншот №8 — Начальная страница

Вторая страница выглядит следующим образом:

Скриншот №9 — Целевая страница

В том, что перенаправление произошло, можно убедиться с помощью инструментов браузера, нажав клавишу F12 и наблюдая за HTTP/S—запросами от клиента и сервера:

Скриншот №10 — Проверка редиректа 301

Итак, мы видим в колонке статуса 301 код HTTP—перенаправления, следовательно, все настройки системы и веб-сервера работают правильно! Далее, если мы хотим изменить код перенаправления, то необходимо лишь немного изменить предыдущую конфигурацию:

nano /etc/test/.htaccess

Введите этот код вместо предыдущей конфигурации:

Redirect 302 /start http://vdushu.space/target
RewriteRule ^start$ index.html
RewriteRule ^target$ index2.html

В этом случае мы прямо указываем на перенаправление синтаксисом выше Redirect, затем выбираем для этого HTTP—код и сохраняем файл! Проверим результат:

Скриншот №11— Проверка редиректа 302

Вывод

Редиректы служат незаменимым инструментом для обеспечения бесперебойной работы пользователей, сохранения SEO—рейтинга и умелого управления изменениями в структуре сайта, его содержимом и URL. Стратегически грамотная реализация различных типов редиректов позволяет повысить доверие к бренду, улучшить удобство использования сайта и добиться цифрового процветания. Процесс реализации перенаправления в Apache2 включает в себя настройку веб—сервера и создание файлов .htaccess для эффективного управления поведением перенаправления. Правильная настройка редиректов позволяет направлять пользователей на нужный контент, что способствует успешному присутствию в Интернете.