14-07-2022

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

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

После переезда сайта на новую версию остро встает вопрос перенастройки маркетинговых редиректов. Делимся кейсом, как удобно формировать редиректы через 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х ошибок Вам!

dev apache htaccess seo