When trying to access Site Settings for a Site which is created on basis of a Site Template which has an Alternace CSS Url configured you will receive an unexpected error:
SharePoint Foundation Runtime tkau Unexpected System.Web.HttpException: Error executing child request for /Style Library/Style.css |
This is caused because the Site Settings page doesn’t access the CSS at the Site Collection Root
(“http://servername/Style Library/Style.css”)
but instead searches for it in the layouts folder
(“http://servername/_layouts/1033/Style Library/Style.css”)
Pete wrote a PowerShell script to fix the problem afterwards:
$w = Get-SPWeb http://YourServer/YourWeb; $w.AlternateHeader = $null; $w.Update() |
But since this does not solve the actual problem, you always have to embed the reference to your StyleSheet in the MasterPage.
<SharePoint:CssRegistration name="<% $SPUrl:~sitecollection/Style Library/Style.css %>" After="corev4.css" runat="server" /> |
But don’t forget, when you use SharePoint Foundation $SPUrl will not resolve, since this requires the Publishing Feature.
So in SharePoint Foundation you should reference your CSS like this:
<SharePoint:CSSRegistration name="/Style Library/Style.css" After="corev4.css" runat="server" /> |