サーバーサイドでリダイレクトする方法(PHP)
Analyticsも意識。
日付で飛ばす先を変えてる
<?php
header('Content-Type: text/html; charset=Shift_JIS');
// UTMパラメータの定義
$utm_params = array(
'utm_source',
'utm_medium',
'utm_campaign',
'utm_term',
'utm_content'
);
// 現在のURLのクエリパラメータを取得
$current_params = array();
if (!empty($_SERVER['QUERY_STRING'])) {
parse_str($_SERVER['QUERY_STRING'], $current_params);
}
// リダイレクト先の決定
$day = (int)date('j');
$redirect_base = ($day % 2 === 0) ? 'index_1.html' : 'index_2.html';
// パラメータの収集
$params = array();
// リファラーの処理
if (isset($_SERVER['HTTP_REFERER'])) {
$params['ref'] = urlencode($_SERVER['HTTP_REFERER']);
}
// UTMパラメータの転送
foreach ($utm_params as $utm_param) {
if (isset($current_params[$utm_param])) {
$params[$utm_param] = urlencode($current_params[$utm_param]);
}
}
// URLの組み立て
$redirect_url = $redirect_base;
if (!empty($params)) {
$query_string = http_build_query($params);
$redirect_url .= '?' . $query_string;
}
// 301リダイレクトを実行
header("HTTP/1.1 301 Moved Permanently");
header("Location: " . $redirect_url);
exit();
?>