我有一个网站,在几个月内将有来自不同国家的流量, 但这取决于我应该展示哪个网站的国家。
目前我使用免费的maxmind GeoIp重定向流量, 用PHP。
但我认为每天有40k个独立用户,而且每天要求100k,这将是非常缓慢的。
我想过用.htaccess做这件事,但我认为请求时间会多一点。
我现在最后的想法是根据国家/地区的不同文件夹(或子域)在网站的html中构建主页,例如us.website.com并将用户重定向到那里,但我不知道哪个是方式是用户体验最快的方式。
服务器是LAMP(我可以选择发行版)
请帮我决定!! 谢谢你的一切!
答案 0 :(得分:1)
从PHP访问时,下载的MaxMind GeoIP国家数据库(免费或付费,没有区别)非常快(即使他们的PHP代码没有经过优化 - 很明显很好地从良好的C代码翻译而来)。
只需将它放在您的机器上(例如,通过两次调用microtime(true)
与现实数据集的差异),您可能会发现您可以负担得起访问代码顶部的GeoIP数据库,以便在需要时切换到特定国家/地区的代码。
下一步是使用国家/地区代码Cookie。如果用户已经拥有cookie,请使用它来切换到特定国家/地区的代码,否则访问GeoIP数据库以确定国家/地区代码,设置cookie并像往常一样切换(即使用户不接受cookie也能正常工作) 。使其成为会话cookie,用户可能会旅行。如果您有一些页面缓存,请务必小心:它不能忽略国家/地区代码cookie。
您的问题提到了重定向,可能是特定国家/地区的header('Location: ...');
,但您可能不这样做,因为它会使事情变得更复杂,并且会增加您的流量。
答案 1 :(得分:1)
那么, 我觉得你太担心了,但让我解释一下:
对于这种情况,我建议:
PS
如果你要集群$ _SESSION分享将是真正的挑战,所以你现在可以看看会话管理器