301 редирект в htaccess с сохранением ?utm-меток

Веб разработка
14 июля 2022
301 редирект в htaccess с сохранением ?utm-меток

После переезда сайта на новую версию остро встает вопрос перенастройки маркетинговых редиректов. Делимся кейсом, как удобно формировать редиректы через htaccess для веб-сервера Apache.

Редирект с помощью директивы Redirect модуля mod_alias

Это самый простой способ. Нужно указать вначале относительную ссылку, а затем абсолютную для адреса, на который нужно совершить перенаправление трафика.Redirect 301 /old-page.html http://new-domain.ru/new-page.html

Недостатком данного способа является отсутствие какой-либо автоматизации — т.е. все адреса нужно перечислять один за другим вручную.

Редирект с помощью директивы RedirectMatch

В этом типе редиректа уже можно использовать регулярные выражения. А это позволяем нам автоматизировать правила. Например — если массово сменились все типы страниц с php на html, то подойдет следующая конструкцияRedirectMatch /(.*).php$ /$1.html

Редирект с сохранением ?utm-меток

В данной публикации хочется раскрыть также кейс, когда можно организовать редирект с сохранением UTM-меток. Рассмотрим следующее правилоRedirectMatch /old-uri(.*)$ /new-url/$1

Таким образом можно пробросить «хвост» из ?get-параметров после основного URL в переменную ($1) и использовать ее в новой адресации.

Желаем удачи в создании правил перенаправления трафика, а также по-меньше 404х ошибок Вам!

Григорий Фролов
Григорий Фролов
Руководитель NJ Soft

Поделиться: