Sitecore 6.6 をクリーン インストールし、このガイドを使用して MVC サポートを有効にしました。したがって、私の環境は Sitecore 6.6、ASP .NET MVC 3 および Razor、Microsoft SQL Server Express 2012、IIS 7.5 であり、Microsoft Visual Studio 2012 Express for Web を使用しています。私は次のコードを持っています:
@Model.PageItem.Fields["Title"];<br />
@Model.PageItem.Fields["Image"].GetValue(true, true);<br />
@Model.PageItem.Fields["Text"];<br />
Sitecore.Data.Items.MediaItem item = Model.PageItem.Fields["Image"].Item;
@Sitecore.StringUtil.EnsurePrefix('/', Sitecore.Resources.Media.MediaManager.GetMediaUrl(item));<br />
結果は簡単です:
Sitecore
<image mediaid="{4DFD3ABC-0BC0-41D2-BD38-705946A1368A}" mediapath="/Images/xbox" src="~/media/4DFD3ABC0BC041D2BD38705946A1368A.ashx" />
<p>Welcome to Sitecore</p>
/sitecore/shell/~/media/110D559FDEA542EA9C1C8A5DF7E70EF9.ashx
最後の行で指定されたパスに移動すると、次のエラーが表示されます。
HTTP Error 404.0 - Not Found
The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.
私はいくつかのことを試しました。
- Web.config の Media.UseItemPaths が trye (または false) に変更されました - 何も機能しません...
- Web.config の Media.RequestExtension を空に設定 (デフォルトは ashx)
- Web.config の許可された拡張機能に ashx を追加しました (通常の拡張機能を使用できない場合は、少なくとも ashx リンクを機能させたいため)
- IIS 7.5 に ashx を追加しました -> リクエスト フィルタリング -> ファイル名拡張子
もちろん、変更するたびに(念のため)サーバーを再起動し、ブラウザのキャッシュをクリアしました(実際には、いくつかのリクエストの後、クロムのキャッシュを無効にしました)。
私は運がない sdn.sitecore.net で解決策を探していました。実際、これまでに解決策を探すのに3時間以上費やしましたが、何が問題なのかわかりません...助けや提案をいただければ幸いです!