Я пытаюсь перенаправить 10% моих пользователей на бета-сайт, который мы тестируем. Я использую рамки CodeIgniter и я добавил следующее в файл routes.php:Перенаправление процента трафика
$absplit = 0.1;
if((mt_rand(0, mt_getrandmax() - 1)/mt_getrandmax() < $absplit))
{
header('location: '.str_replace($_SERVER[HTTP_HOST],"x.example.com","http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"),true,302);
exit;
}
Однако, я заметил, что он перенаправляет почти 40% трафика, и, кажется, перенаправлять в куски времени (например, все пользователи в течение 10 минут переходят на один сайт). Может ли кто-нибудь обнаружить проблему?
для лучшего распространения используйте время в защитниках, перенаправляйте хиты на 1,6,12 .. secounds –
Создайте таблицу с одним полем типа int. В своей основной функции индекса контроллеров увеличьте это значение на 1. Затем проверьте его значение, если оно = = 10, затем используйте вызов redirect() и установите значение базы данных обратно на 0. – PrestonDocks
, если я дважды удалю по тому же URL есть вероятность, что я приземлюсь на разные версии сайта. лучше использовать 'session', чтобы конкретный пользователь находился на любом из сайтов, а не на обоих. –