2016-12-14 8 views
0

sitecore www.mydomain.com/ruのサブサイトとしてculture code name( "fr、lb、ru")を使用しようとしています。culture code nameをsitecoreのサブサイトとして使用する方法

このメッセージ

を与えることが示されているロシアの「現在の項目がでバージョンがありません 『:』。 を新しいバージョンの追加やバージョン]タブで[追加]をクリックします]をクリックし、バージョンを作成するには。」русскийを

私のサイト構成は、私はサイトコアでサブサイト名として "RU、FR、SA、LB" を使用して助けてください

です。

ありがとうございました。

+0

あなたはサイト構成されているかを示すことができますか? –

答えて

1

あなたはサイトコアは、言語コードとURLの最初の部分を解釈するために、代わりに、あなたは以下を変更することができ、コンテンツツリー内の項目に解決しない場合:

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

これは防ぎpreprocessRequestパイプラインの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.Kernel.dllにあるSitecoreを継承するカスタムLanguageResolverを作成するのは簡単です。 config要素は、あなたがあなたの新しいクラスを参照するようにパッチを適用する必要があるだろう

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

です。あなたの新しいクラスはProcessメソッドよりも優先されます。

関連する問題