地理位置默认主页

Geographical Location Default Home Page

我有以下网站结构。当您访问站点 MyWebsite.com 时,默认加载的页面是韩国 (MyWebsite/Korea/Home) 下的主页项目。

我需要做的是:

当站点在中国访问时,默认主页应该是中国下的那个(MyWebsite/china/Home)。日本也一样,在日本访问或浏览站点时,默认主页应该是日本的主页(MyWebsite/Japan/Home)。除此之外,默认主页应该是韩国的那个。

如何做到这一点?在 Sitecore 中这样做的最佳之处是什么。

我正在试验地理定位 HTML5 API 以确定位置。然后在我知道位置后重定向到适当的页面。但我很犹豫,因为我认为在 Sitecore 中可能有更好的方法来做到这一点。

非常感谢您的建议和帮助。

谢谢,

您的选项似乎是:

在管道中使用 geoIP 查找服务根据用户的位置重定向用户 - Maxmind 提供了一个免费的实现,可以为您提供国家/地区。

您可以稍微改变您的方法 - 使用 geoip 通过 Sitecore 的个性化引擎对主页进行个性化设置。这样您就有了 1 个主页,但会根据用户的位置向他们展示不同的组件。如果内容不同但每个网站的整体网站结构相同,这是理想的选择。

如果站点根本不同,那么您可以在 Sitecore 中将它们设置为单独的站点,并将它们绑定到不同的主机名,即 mysite.jp、mysite.cn 等。使用您当前的设置,您可以跨 links 遇到问题 - 即中文网站的访问者能够访问韩文页面。

最后一个选项(我相信现在可以在 sitecore 8 中使用)是拥有 1 个主页并根据语言改变演示文稿。这在以前是不可能的,因为布局字段是共享的。

扩展此选项 - Sitecore 8 更改了页面布局的创建方式。以前 __Renderings 字段在所有语言版本之间共享。情况仍然如此,但是现在添加了 _FinalRenderings 字段。如果您打开一个项目并从功能区查看演示 > 详细信息视图,您将看到两个选项卡 - 共享布局和最终布局。正是这种最终布局可以因语言版本而异。如果您在页面编辑器中打开页面,那么您正在编辑的就是这个最终布局。有关更详细的解释,请参阅以下博客: http://www.seanholmesby.com/presentation-details-changes-in-sitecore-8-how-renderings-are-stored/ http://roundedcube.com/Blog/2015/exploring-sitecore-8-versioned-layouts

要实现这一点,请打开您的基本主页 - 在您的示例中我认为是韩语,并创建一个新的日语语言版本(这里是 link 来自 Sitecore 市场的一个有用工具,可以立即复制所有内容韩文版的内容 - 虽然不确定它是否适用于 8 https://www.cognifide.com/blogs/sitecore/quickly-create-new-language-versions-on-your-sitecore-cms/ )

获得日文版后,打开演示文稿详细信息并开始编辑布局。如果您现在发布并查看韩语页面,您应该会看到与韩语版本不同的布局。

完成此操作后,您将通过使用 Sitecore 语言设置来控制您的内容来解决您的问题 - 如果用户更改语言,或者如果您转到 www.mysite。com/jp-jp 那么您应该能看到日文版的主页

正如@Moorag 所建议的,Geo IP 服务(或本地数据库)是实现基于位置的重定向的常用方法。 Sitecore 市场中已经有模块来帮助解决这个问题。这是一个很好的:

.. 这里有一些关于这个主题的好 post:

如果您担心执行查找所带来的开销,那么一个较轻的选项是尝试使用作为请求的一部分包含的用户浏览器设置来初步确定 country/language。这个post有实现它的代码:

它不太准确,但如果它失败了,在转到 Geo IP 查找之前可能是一个很好的 "first pass" 选项。