マルチサイト解決ロジックのサイト設定


サイト解決の設定

この記事では、サイトの解決機能に関する設定と、プレビュー モードや編集モードに関連するシナリオについて解説いたします。

サイトの解決ロジックが、時折予期せぬ動作をするように見える場合があります(例えば、エクスペリエンス エディターやプレビュー モードでアイテムを開くときなど)。
これに関しては、必要要件に応じて変更可能な特別な設定で動作を調整することができます。

以下のように、マルチサイト ソリューションにおける適切なサイト解決ロジックを構成するのに役立つ設定があります。

各設定の詳細につきましては、下記の設定ファイルをご参照ください。

設定例

一般的に、いずれのマルチサイト ソリューションにおいても、クロスサイトのリンクが正しいパラメータで構築されるようにするため、Rendering.SiteResolving設定値を「true」に設定することをお勧めします。この場合、他のサイトで解決できなければ、Preview.DefaultSite設定に定義されたサイトのコンテキストで、エクスペリエンス エディターとプレビュー モードが開かれます。

アイテムが正しいサイトのコンテキストで開かれるようにするために、Rendering.SiteResolvingMatchCurrentSiteを「true」に設定する必要があります。

Rendering.SiteResolvingMatchCurrentLanguageが「true」に設定されており、特定のサイト定義ノード(<sites>ノードの下)に、言語パラメータが設定されている場合があるかもしれません。この場合、ユーザーがエクスペリエンス エディターまたはプレビュー モードを開くと、指定された言語パラメーターに従ってサイトが解決されます。例えば、「site」と「altSite」という名前で設定された2つのサイトがあり、Preview.DefaultSiteの設定値は「site」で、「altSite」ノードの言語のパラメータ値は「ja」であるとします。この場合、下記のようなシナリオが起きることが考えられます。

こうした挙動を回避するには、Rendering.SetResolvingMatchCurrentLanguage設定を「false」に設定します。全体的に見て、ほとんどの場合において、この設定は「false」に設定することができます。ただし、言語のパラメータのみ異なるサイト定義がいくつかある場合はこれに当てはまりません。例えば、アイテムとサイトルートは同じだが、ホスト名が異なる2つのサイトがある(uk.hostnameとja.hostname)場合などです。この場合、サイトの解決は言語依存となり、リンク プロバイダは言語のパラメータを考慮するため、「true」に設定する必要があります。