2015-10-21 146 views
0

企业需要始终在我们的CD网站的URL中显示语言。我做了一些研究,并将LanguageEmbedding设置设为始终。这对于非默认语言似乎工作正常,但对于英语(这是默认语言)不起作用。Sitecore语言嵌入和默认语言

当我试图去www.abc.com时,它不应该更改为www.abc.com/en?我是否正确地考虑这个问题,或者这是Sitecore如何处理默认语言,如果它不是嵌入式链接,它将不会显示该语言?

感谢

回答

1

OOTB是Sitecore工作的方式。当你有LanguageEmbedding =“always”时 - 链接应该全部使用嵌入语言生成 - 包括en,所以主页的链接将是www.abc.com/en - 但如果你只是访问域 - www.abc.com - Sitecore然后使用从上次访问时存储的语言Cookie或默认语言。

如果你想要的行为是,如果你访问www.abc.com用户是总是这将是更好的使用IIS重定向或重写。

+0

这很有道理。谢谢! – Gabbar

+1

如果您希望浏览器中的离线链接或直接网址具有一致的行为,那么仅在主页上执行重定向将不够。如果说通过语言解析器将用户的语言设置为“es”(即,您是否将/ products重定向到/ en/products或/ es/products?),则仅将IIS重定向到子页面的规则变得特别困难。 –

1

当Sitecore的决定通过浏览器偏好,饼干,URL蛞蝓,或查询字符串您的语言,它会重定向到与语言蛞蝓是首选URL结构。

您可以创建一个重定向模块(即,如果语境设置,使正确的URL和重定向)或写出来<link langref="">标签,这是一个搜索引擎优化的最佳实践反正。