Задать вопрос

Как сделать 301 редирект в PHP с сохранением параметров (utm метки)?

Здравствуйте!
Подскажите, какое условие составить, чтобы при совпадении части ссылки происходила переадресация на новую страницу с сохранением ?utm и &utm меток?
Например:
site.ru/product/873/?utm_source=ya_direct&utm_medium=cpc&utm_campaign=Konkurenti&utm_term ={keyword}

Перебросить на:
site.ru/categoriya-tovar1/?utm_source=ya_direct&utm_medium=cpc&utm_campaign=Konkurenti&utm_term ={keyword}

Написал так, но что-то неправильно, не работает:
if(preg_match("#^/product/873/(.*)/#sUi", $_SERVER['REQUEST_URI'], $m))
{
	$t = "";
	if(count($_GET) > 0) { $t = "?"; foreach ($_GET as $key => $value) $t .= $key."=".$value."&"; }
	header("HTTP/1.1 301 Moved Permanently");
	header("Location: /categoriya-tovar1/".$m[1]."/".$t);
	exit();
}

Может есть еще варианты 301 редиректа с сохранением ?utm и &utm меток?
  • Вопрос задан
  • 3787 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
header("Location: /categoriya-tovar1/".$m[1]."/?". $_SERVER["QUERY_STRING"]);
или
header("Location: /categoriya-tovar1/".$m[1]."/?". http_build_query($_GET));

а вообще: посмотрите в сторону apache mod rewrite
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы