I installed clean Sitecore 6.6 and enabled MVC support using this guide. So my environment is Sitecore 6.6, ASP .NET MVC 3 and Razor, Microsoft SQL Server Express 2012, IIS 7.5 and I'm using Microsoft Visual Studio 2012 Express for Web. I have following code:
@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 />
Result is simple:
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
When I navigate to the path specified in the last line I get following error:
HTTP Error 404.0 - Not Found
The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.
I tried few things, e.g.:
- Media.UseItemPaths in Web.config changed to trye (or false) - nothing works...
- Media.RequestExtension in Web.config set to empty (ashx is default)
- I have added ashx to Allowed extensions in Web.config (because if I cant have normal extensions, I at least want to have working ashx link)
- I have added ashx to IIS 7.5 -> Request Filtering -> File name extensions
Of course after each change (just in case) I restarted server and cleared browser's cache (actually, after few requests I have disabled cache for chrome).
I was looking for solution on sdn.sitecore.net with no luck. Actually I've spent more than 3 hrs so far looking for solution and can't figure out what is going wrong... Any help or suggestions appreciated!