最近、Sitecore 5 CMS を使用して構築された Web サイトを新しい Server 2008 R2 / IIS 7.5 マシンに移動しました。しかし、この変更後、Sitecore エイリアスは解決されなくなりました。
更新問題はサーバーの移動とは関係ないと思います。Sitecore API で奇妙なことが起こっています。
問題は、Aliases.Exists() へのこのメソッド呼び出しが常に false を返すことです。
if (Sitecore.Context.Database.Aliases.Exists(args.LocalPath))
{
var aliasId = Sitecore.Context.Database.Aliases.GetTargetID(args.LocalPath);
...
}
しかし、次のコードを使用してエイリアス ノードを取得できます。
var folder = Sitecore.Context.Database.Items["/sitecore/system/Aliases"];
var aliasItem = folder.Axes.GetChild(args.LocalPath);
args.LocalPath は "/thisIsAnAlias" のようなものです。
web.config ファイルで AliasesActive をオンにし、匿名ユーザーに Alias ノードへの読み取りアクセスを許可します。
私は何か間違ったことをしていますか?Context.Database.Aliases コードでエイリアスが見つからないのはなぜですか?