【发布时间】:2012-04-24 05:13:22
【问题描述】:
例如,我有一个非常简单的网站,仅基于 HTML/CSS/Javascript,没有 php、.net,正在使用 ruby。我网站的一些访问者应该会看到版本“A”,而其他访问者会看到版本“B”。
网站托管在 Apache 服务器上
【问题讨论】:
-
你愿意付钱吗?
-
我想知道是否有任何免费工具可以完成这项工作
例如,我有一个非常简单的网站,仅基于 HTML/CSS/Javascript,没有 php、.net,正在使用 ruby。我网站的一些访问者应该会看到版本“A”,而其他访问者会看到版本“B”。
网站托管在 Apache 服务器上
【问题讨论】:
一种方法是将 Apache 作为负载平衡器运行,在站点的两个不同版本(它们是在其他端口上运行的它们自己的虚拟主机)之间“平衡”。当有人连接时,apache 会随机将他们定向到站点的版本 A 或版本 B。您可以使用mod_proxy_balancer 来执行此操作。它还支持“粘性”平衡:也就是说,您可以设置一个 cookie,以便一旦客户端进入版本 A,它们总是被定向到版本 A(同样适用于版本 B)。
【讨论】:
【讨论】:
一种方法是分析 IP 地址或范围。
创建 IP 地址/范围列表
$ips = array(
"a" => array( 'xxx.xxx.xxx.xxx', ....),
"b" => array( 'xxx.xxx.xxx.xxx', ....),
);
现在,使用$_SERVER['REMOTE_ADDR'] 并切换域
if(in_array($ips['a'], $_SERVER['REMOTE_ADDR'])) {
header("location: website.com/a");
} else {
header("location: website.com/b");
}
exit;
【讨论】: