子域,文件夹,国际化和托pipe解决scheme

我是一名networking开发人员,最近我为一家欧洲大公司开发了美国/国际版本的网站,但还没有在美国进行太多的扩张。 他们在company.com上有一个现有的网站,在新网站上线后,欧洲客户应该可以看到这个网站,在company.us上有一个现有的(不是很棒的)网站,我将要重新开发。当我的版本升级时,我们的网站将被取消 – 请继续阅读以获取详细信息)。 我的解决scheme需要考虑到在不久的将来会有新的本地化版本,所以我写的框架需要能够相当容易地处理本地化(dynamic加载语言包,等等)。

棘手的是,该公司的欧洲分公司pipe理.com网站托pipe(基于IIS)和DNS,而我将pipe理美国托pipe(和未来的本地化),这可能是基于Apache的。 我从来不是“.us”顶级域名(TLD)的忠实拥趸,我想大多数美国用户习惯于访问.com–所以我们认为欧洲分支将会检测到入站stream量的IP,并redirect所有美国的地址us.example.com(或任何适当的本地化子域可能),这将指向我的主机的IP地址。 然后,我将通过从$ _SERVER超全局(假设PHP)拉动子域来提供适当的特定于语言环境的内容。

我找不到任何采用基于子域的本地化方法的国际组织的例子,但是我不确定我是否有其他的select,因为这里有独特的托pipe结构(因为没有统一的托pipe解决scheme欧洲和美国的网站)。 根据我的经验,国际站点的美国版本将会在domain.com/us而不是us.domain.com上,我想这与SEO有关(子域名被视为单独的站点,所以改进了如果使用子域来区分它们,则美国站点的排名对加拿大版本无帮助)。

我的问题是:有没有更好的方法来解决这个问题比我正在采取? 理想情况下,我想使用基于文件夹的方法(请参阅adidas.com作为我正在谈论的示例),但我不确定这是否有可能,因为美国网站(和其他本地化)将不能与.com的其他部分一起托pipe在同一台服务器上。 你可以,在IIS中,映射一个文件夹(例如domain.com/us)到不同的IP地址? 你会推荐什么?

感谢您的考虑。

那么,你可以代理请求company.com/us/*到randomserver / *没有太大的麻烦(见Apache httpd的mod_proxy),但性能可能会明显受损,你会引入一个不必要的失败点。

如果你真的想company.com/{country}/*,你应该强烈推动非独立服务器的情况。 无论是向所有人提供服务的单一服务器,还是使用GeoDNS复制服务器…

如果你不能这样做,美国服务器将是独立的,us.company.com可能是你更好的select,或company.us。 只要确保select其中一个,并将每个人redirect到“规范”URL。

我认为最好的解决办法是使用欧洲主机。 创buildus.company.com子域名,然后将通过us.company.com进入的所有stream量redirect到company.com/us,以便使用子文件夹方法。

PS:既然你在谈论一个跨国公司,你可能必须让一个FTP用户只能访问那个子域。