Как сделать 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 меток?
  • Вопрос задан
  • 3778 просмотров
Пригласить эксперта
Ответы на вопрос 1
header("Location: /categoriya-tovar1/".$m[1]."/?". $_SERVER["QUERY_STRING"]);
или
header("Location: /categoriya-tovar1/".$m[1]."/?". http_build_query($_GET));

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

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

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