サイト固有のエイリアスを設定する方法


解説

Sitecore には、任意のコンテンツ アイテムにアクセスできるように複数のサイトURLを設定するエイリアス機能があります。エイリアスの詳細につきましては、Sitecoreドキュメントをご参照ください。

デフォルトでは、エイリアスの設定はSitecore XPのソリューションにおけるすべてのSitecoreのサイトの間で共有されています。ただし、場合によっては、サイト固有のエイリアスを設定する必要がある可能性があります。例

この記事では、エイリアス機能をカスタマイズしてサイト固有のエイリアスを作成する方法について記載します。

解決策

サイト固有のエイリアスを実装するには、下記の方法を実施します:

  1. httpRequestBegin」パイプラインのデフォルトの「AliasResolver」のプロセッサを、エイリアスを解決する際にコンテクスト サイトの名称を考慮するカスタムのプロセッサに置き換えます。下記のコード サンプルは、あくまでも参考としてご参照ください :
    • Sitecore XP バージョン9.0.2以前の場合は、このAliasResolverを使用します。
    • Sitecore XP バージョン9.1.0以降の場合は、このAliasResolverを使用します。

      なお、Sitecore XPのバージョンによっては、上記のコード サンプルを修正する必要がある場合があります。

  2. /sitecore/system/Aliasesアイテム下に、サイト固有のエイリアスの対応が必要となる各サイトの名称を持つフォルダを作成します。例えば、アイテムの階層は次のようになります:
    sitecore
    --system
    ----aliases
    ------website
    ------website2
    ------website3
    

    これにより、各サイトのフォルダに配置されたエイリアスが、該当するSitecoreサイトにのみ適用されるようになります。

  3. 該当するサイトのフォルダに手動でエイリアスのアイテムを作成します。または「プレゼンテーション」タブの「エイリアス」ダイアログボックスを使用することもできます。ただし、このダイアログボックスを使用する場合、実際のエイリアスの名称の前に必ず<websiteName>/のプレフィックスを追加してください。
  4. 全てのサイトと動作するグローバルなエイリアスを作成する必要がある場合、該当するエイリアスのアイテムを各サイトのフォルダに配置します。

備考: