如何根据位置将访问者发送到另一台机器上托pipe的不同版本的网站

假设我目前的网站正在A机上运行,​​我打算在机器B上启动新的网站。现在,我想让这个新网站只对属于某个特定位置(基于IP)的用户生效。 这样,我们就可以在不影响现有设置的情况下testing新的站点,并在开放之前进行testing。

什么样的设置(服务器/反向代理/ IP数据库等)将被推荐? 这种方法的任何问题(除了redirect延迟和可能的search引擎优化问题)?

谢谢你的帮助。

好的,如果你想要一个非常简单的解决scheme,并且IP用户列表很短,只需在机器A上使用.htaccess和apache RewriteEngine

例如,添加到您的.htaccess

 RewriteCond %{REMOTE_ADDR} ^(192\.168\.0\.12)$ [OR] RewriteCond %{REMOTE_ADDR} ^(192\.168\.0\.13)$ RewriteRule ^(.*)$ http://other.webserver.com/$1 [P] 

如果不只是检查Apache的mod_proxy的文档。

如果这还不够,你可以使用像varnish , nginx proxy , HAproxy这样的解决scheme,但是你将需要在机器A上重新configurationapache,并增加你的解决scheme的复杂性。

这里没有select的缺点。 几乎每个我玩过的networking服务器都能够根据客户端IP地址进行检查和采取不同的行为,一旦获得了这些function,就可以根据您设置的IP地址规则将请求路由到不同的地方。