【问题标题】:Sitecore language embedding and default languageSitecore 语言嵌入和默认语言
【发布时间】:2015-10-22 01:15:53
【问题描述】:

企业要求始终在我们的 CD 网站的 URL 中显示语言。我做了一些研究并将 LanguageEmbedding 设置为始终。这似乎适用于非默认语言,但不适用于默认语言英语。

当我尝试访问 www.abc.com 时,不应该更改为 www.abc.com/en 吗?我这样想是对的,还是 Sitecore 对于默认语言的行为方式是正确的,如果它不是嵌入式链接,它不会显示该语言?

谢谢

【问题讨论】:

    标签: sitecore multilingual


    【解决方案1】:

    当 Sitecore 通过浏览器首选项、cookie、URL slug 或查询字符串确定您的语言时,它会重定向到带有语言 slug 的首选 URL 结构。

    您可以创建一个重定向模块(即,如果设置了语言上下文,则创建正确的 URL 和重定向)或写出 <link langref=""> 标签,这无论如何都是 SEO 最佳实践。

    【讨论】:

      【解决方案2】:

      OOTB 这就是 Sitecore 的工作方式。当您拥有 LanguageEmbedding="always" - 链接都应该使用嵌入的语言生成 - 包括 en,因此到主页的链接将是 www.abc.com/en - 但如果您只是访问域 - www.abc.com - Sitecore然后使用您上次访问时存储的语言 cookie 或默认语言。

      如果您希望行为是,如果您访问www.abc.com,则用户总是最好使用 IIS Redirect 或 rewrite 进行设置。

      【讨论】:

      • 这是有道理的。谢谢!
      • 如果您希望浏览器中的非现场链接或直接 URL 的行为一致,仅在主页上进行重定向是不够的。如果说通过语言解析器将用户的语言设置为“es”(即您是否将 /products 重定向到 /en/products 或 /es/products?),则一揽子 IIS 仅重定向规则到子页面变得特别困难。
      猜你喜欢
      • 2014-02-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多