2012-07-28 22 views
0

我正在开发一个rails应用程序。 用于本地化。我想要使​​用下面的方法。如何在轨道上分离帐户页面和顶部页面

  1. 网站的热门网页
    协议:HTTP
    域:国家代码之间的多个子:en.myapp.com,it.myapp.com,fr.myapp.com

  2. 帐户页
    协议:https
    域:一个使用国际化域名来改变用户之间语言的主域。

对于搜索引擎优化,我想把静态页面(促销页面)放到不同国家的服务器之间。

我正在使用heroku。如何连接heroku服务器上的动态内容和多个不同服务器上的静态内容?

例如,当用户从静态页面输入帐户页面时,我想要传递如下属性:locale。可能吗?

编辑
我搜索了这个问题,现在想下面的方法将是一件好事。

将子域静态页面放入单独的服务器或单独的Heroku应用程序。 设置cookie的像“:区域= KO-KR”,当用户在每个子页改变语言,并重定向到其他子域名页面:ko-kr.myapp.com之间

分享的cookie(如果用户已经登录,使用的国家和区域代码在数据库内)主域和子域。当用户进入注册页面或登录页面时,根据cookie动态改变语言。

此方法是否有效?如果你知道其他方法,我想知道。

回答

0

你使用的是什么数据库存储?使用MySQL,这可能变得非常棘手。

你需要一个中央MySQL服务器,除非你想体验db sharding这对于一个新的项目IMO来说是过分的。 对于中央服务器,MySQL与您本地国家/地区服务器之间的延迟将远远低于用户访问其他国家/地区的服务器时可能遇到的延迟!

如果我是你,我只需注册CDN,以加快所有网站的网站加载速度。易于设置。

而在目标国家有一台服务器并没有什么帮助。这是谷歌排名因素很长的名单中的一个参数......并不是我迄今发现的非常重要的一个参数。

+0

我正在使用Amazon S3和Postgresql。我遵循这种说法实施CDN,https://devcenter.heroku.com/articles/cdn-asset-host-rails31。如果服务器的位置没有太大帮助,我会将每个静态页面放在Heroku上。感谢您的信息。 – 2012-07-28 22:35:43

+0

考虑如果我确信你不要去(多)数据位置的(非常)困难的方式将答案标记为接受:P – 2012-07-29 02:33:29