2016-12-14 22 views
0

我试图在sitecore www.mydomain.com/ru中使用文化代码名称(“fr,lb,ru”)作为子网站,网站工作正常,但内容不正确正在显示如何将文化代码名称用作sitecore中的子网站

给这个消息

“目前的项目没有一个版本‘俄罗斯:’ 要创建一个版本,点击添加新版本或点击添加版本选项卡上。”русский

我的站点配置是

请帮我用 “RU,星期五,星期六,LB” 在Sitecore的子网站的名称。

谢谢。

+0

你能告诉什么是网站配置? –

回答

1

如果你不想Sitecore的解释网址为语言代码的第一部分和,而不是解决在内容树中的项目,那么你可以更改以下:

<setting name="Languages.AlwaysStripLanguage" value="false" /> 

这样可防止预处理请求管道中的StripLanguage处理器从路径中删除语言并重写URL。

您还应该更新LinkProvider的设置并设置languageEmbedding=false

您可以阅读这篇博客文章的详细信息: Prevent the Sitecore ASP.NET CMS from Interpreting URL Path Prefixes as Language Names

+0

感谢哥们,它的工作原理,如果想在微型网站中使用多种语言,那该怎么办? 例如 www.mydomain.com/ru/home - >英语 www.mydomain.com/ru/home - > russian –

+0

这两个URL是相同的,你如何区分不同的语言?这是可能的,我之前做过类似的事情,最好将它作为一个单独的问题提出来,并与您具体的要求相提并论。 – jammykam

0

我认为这里的问题是LanguageResolver管道处理程序期望URL的语言部分对应于完整的语言名称。所以在你的情况下,它会预计www.mydomain.com/ru-RU。创建从Sitecore中继承的SiteCore.Kernel.dll中的自定义LanguageResolver非常简单。 的配置元素是

<processor type="Sitecore.Pipelines.HttpRequest.LanguageResolver, Sitecore.Kernel"/> 

,你将需要打补丁引用您的新类。您的新班级将覆盖Process方法。

相关问题