0

我现在正在开发一个 Rails 应用程序。用于本地化。我想使用如下方法。

  1. 站点首页
    协议:http
    域:国家代码之间的多个子域:en.myapp.com、it.myapp.com、fr.myapp.com

  2. 帐户页面
    协议:https
    域:一个使用 i18n 更改用户之间语言的主域。

对于 SEO,我想将静态页面(促销页面)放入国家之间的单独服务器中。

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

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

编辑
我搜索了这个问题,现在认为下面的方法会很好。

将子域静态页面托管到单独的服务器或单独的 Heroku 应用程序中。当用户在每个子域页面中更改语言并重定向到其他子域页面时,设置类似“:locale = ko-kr”的cookie:ko-kr.myapp.com

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

这种方法有效吗?如果您知道替代方法,我想知道。

4

1 回答 1

0

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

您需要一个中央 MySQL 服务器,除非您想体验 db 分片,这对于新项目 IMO 来说太过分了。使用中央服务器,MySQL 和您所在国家/地区服务器之间的延迟将比用户访问另一个国家/地区的服务器时遇到的延迟要糟糕得多!

如果我是你,我会注册一个 CDN 来加快所有网站的网站加载速度。易于设置。

在您的目标国家/地区实际拥有一台服务器并没有多大帮助。它是一长串谷歌排名因素中的一个参数……从我目前发现的结果来看,它并不是一个非常重要的参数。

于 2012-07-28T22:21:35.287 回答