Trouble getting favicon to show in staging and production environment
I have a favicon.ico in the root folder. In my master pages I'm adding the following link in the head:
<link rel="shortcut icon" runat="server" href="~/favicon.ico"/>
Works in all browsers on localhost but not on staging or production environments. If I try to browse to localhost:1801/.../favicon.ico it appears in my browser but if I try to browse to in on staging or production I get System.Web.HttpException: Failed to Execute URL.
I'm using SF 5 on windows 7 for localhost and SF 5 on windows server 2003 for staging and production.
bump
Hey Jeff,
You say if you browse to localhost:1801/.../favicon.ico on localhost it works while you're using a <link> tag pointing to href="~/favicon.ico" (without the /web/ folder) so I'd check that.
And secondly, a ~ points to a Web application root folder when specifing a path in a server control. Since you're using runat="server" have you checked that its setup in VisualStudio as a web application and not a website and that in IIS it's also setup as an application and not a regular folder?
Jochem
Yes, I've confirmed. It's running as an appplication. I've also tried without the runat and set the path to /web/favicon.ico, tried www.mywebsite.com/favicon.ico, tried ../favicon.ico. Everything I could think of but none work on our staging or production environment.
Surely, browsing to www.mywebsite.com/favicon.ico in a browser should work. That seems to be the root of the problem.
@Jeff,
If you're using Chrome, can you right click the page and select "view page source" ?
That'll show you the rendered source in a new tab. Locate the favicon.ico link and hover over it.
The source link should give you the relative path, but while hovering at the bottom of the screen you'll see the full rendered url.
If you're certain that url is correct and browsing to it just gives you a 404, perhaps you need to verify your IIS mime settings to check whether .ico is mapped to image/x-icon.
Jochem
The mime type is registered as image/x-icon in both environments.
Looking at the source on production, the link is set to href="favicon.ico" and when I hover over it, it displays www.mywebsite.com/favicon.ico.
Last attempt promise:
Verified the other server settings? .NET 4.0 with integrated pipeline?
And the web.config <system.webserver><handlers> section as to the wildcard mappings?
<
add
name
=
"WildCard"
path
=
"*"
verb
=
"*"
modules
=
"IsapiModule"
scriptProcessor
=
"%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll"
resourceType
=
"Unspecified"
requireAccess
=
"None"
preCondition
=
"classicMode,runtimeVersionv4.0,bitness64"
/>
<
add
name
=
"WildCard32"
path
=
"*"
verb
=
"*"
modules
=
"IsapiModule"
scriptProcessor
=
"%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll"
resourceType
=
"Unspecified"
requireAccess
=
"None"
preCondition
=
"classicMode,runtimeVersionv4.0,bitness32"
/>
We're still running IIS 6 on windows server 2003 but it is configured to run .net 4.0. And my <system.webserver><handlers> section is identical to what you posted.
Ah IIS6... Hope this link helps:
www.sitefinity.com/.../sf-5-0-iis6-issues
I've read this article. I had the same problem with css and js files not loading several months back so a http handler was added to the web.config. I had already tried adding *.ico to it but it didn't make any difference.
Hi Jeff,
Basically, the only reason for this error is the known issue, when running Sitefinity 5.x on IIS6, described in the previously linked article. Is ti possible to share with us the webconfig file, specifically the <
httpHandlers
>
section so we can get a better understanding of your project setup.
Regards,
Victor Velev
the Telerik team
Here's my web.config
<?
xml
version
=
"1.0"
?>
<
configuration
>
<
configSections
>
<
sectionGroup
name
=
"madam"
>
<
section
requirePermission
=
"false"
name
=
"formsAuthenticationDisposition"
type
=
"Telerik.Sitefinity.Utilities.MS.Madam.FormsAuthenticationDispositionSectionHandler, Telerik.Sitefinity.Utilities"
/>
<
section
requirePermission
=
"false"
name
=
"basicAuthentication"
type
=
"Telerik.Sitefinity.Utilities.MS.Madam.FormsAuthenticationDispositionSectionHandler, Telerik.Sitefinity.Utilities"
/>
<
section
requirePermission
=
"false"
name
=
"userSecurityAuthority"
type
=
"System.Configuration.SingleTagSectionHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
/>
</
sectionGroup
>
<!--<
sectionGroup
name
=
"telerik"
>
<
section
name
=
"sitefinity"
type
=
"Telerik.Sitefinity.Configuration.SectionHandler, Telerik.Sitefinity"
requirePermission
=
"false"
/>
</
sectionGroup
>-->
<
sectionGroup
name
=
"system.web.webPages.razor"
type
=
"System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
>
<
section
name
=
"host"
type
=
"System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
requirePermission
=
"false"
/>
<
section
name
=
"pages"
type
=
"System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
requirePermission
=
"false"
/>
</
sectionGroup
>
</
configSections
>
<
appSettings
>
<
add
key
=
"TestLocalization"
value
=
"false"
/>
<
add
key
=
"enableSimpleMembership"
value
=
"false"
/>
<
add
key
=
"ContactUsEmailTo"
value
=
""
/>
</
appSettings
>
<
system.web.webPages.razor
>
<
host
factoryType
=
"System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
/>
<
pages
pageBaseType
=
"System.Web.Mvc.WebViewPage"
>
<
namespaces
>
<
add
namespace
=
"System.Web.Mvc"
/>
<
add
namespace
=
"System.Web.Mvc.Ajax"
/>
<
add
namespace
=
"System.Web.Mvc.Html"
/>
<
add
namespace
=
"System.Web.Routing"
/>
</
namespaces
>
</
pages
>
</
system.web.webPages.razor
>
<
system.web
>
<
httpRuntime
maxRequestLength
=
"102400"
maxUrlLength
=
"102400"
maxQueryStringLength
=
"102400"
requestValidationType
=
"Telerik.Sitefinity.Security.Claims.CustomRequestValidator, Telerik.Sitefinity"
/>
<
siteMap
defaultProvider
=
"SitefinitySiteMap"
>
<
providers
>
<
add
name
=
"SitefinitySiteMap"
type
=
"Telerik.Sitefinity.Web.SitefinitySiteMap, Telerik.Sitefinity"
taxonomyProvider
=
"OpenAccessDataProvider"
pageTaxonomy
=
"Pages"
rootNode
=
"FrontendSiteMap"
pageProvider
=
"OpenAccessDataProvider"
/>
</
providers
>
</
siteMap
>
<
roleManager
enabled
=
"false"
/>
<
membership
defaultProvider
=
"Default"
>
<
providers
>
<
clear
/>
<
add
name
=
"Default"
type
=
"Telerik.Sitefinity.Security.Data.SitefinityMembershipProvider, Telerik.Sitefinity"
/>
</
providers
>
</
membership
>
<
globalization
uiCulture
=
"auto"
culture
=
"auto"
resourceProviderFactoryType
=
"Telerik.Sitefinity.Localization.ExtendedResourceProviderFactory, Telerik.Sitefinity"
/>
<
compilation
debug
=
"true"
targetFramework
=
"4.0"
numRecompilesBeforeAppRestart
=
"50"
>
<
assemblies
>
<
add
assembly
=
"System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
/>
<
add
assembly
=
"System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
/>
<
add
assembly
=
"WindowsBase, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
/>
<
add
assembly
=
"PresentationCore, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
/>
<
add
assembly
=
"System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"
/>
</
assemblies
>
<
buildProviders
>
<
remove
extension
=
".svc"
/>
<
add
extension
=
".svc"
type
=
"System.ServiceModel.Activation.ServiceBuildProvider, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
/>
</
buildProviders
>
</
compilation
>
<
authentication
mode
=
"Forms"
/>
<
customErrors
mode
=
"RemoteOnly"
defaultRedirect
=
"~/error.aspx"
>
<
error
statusCode
=
"404"
redirect
=
"~/page-not-found.aspx"
/>
<
error
statusCode
=
"502"
redirect
=
"~/try-again.aspx"
/>
</
customErrors
>
<
pages
>
<
controls
>
<
add
tagPrefix
=
"asp"
namespace
=
"System.Web.UI"
assembly
=
"System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
/>
<
add
tagPrefix
=
"asp"
namespace
=
"System.Web.UI.WebControls"
assembly
=
"System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
/>
<
add
tagPrefix
=
"telerik"
namespace
=
"Telerik.Web.UI"
assembly
=
"Telerik.Web.UI"
/>
<
add
tagPrefix
=
"sitefinity"
namespace
=
"Telerik.Sitefinity.Web.UI.Fields"
assembly
=
"Telerik.Sitefinity"
/>
</
controls
>
</
pages
>
<
httpHandlers
>
<
remove
verb
=
"*"
path
=
"*.asmx"
/>
<
add
verb
=
"*"
validate
=
"false"
path
=
"Telerik.Web.UI.SpellCheckHandler.axd"
type
=
"Telerik.Web.UI.SpellCheckHandler, Telerik.Web.UI"
/>
<
add
verb
=
"*"
path
=
"Telerik.RadUploadProgressHandler.ashx"
type
=
"Telerik.Web.UI.Upload.RadUploadProgressHandler, Telerik.Web.UI"
/>
<
add
verb
=
"*"
path
=
"Telerik.Sitefinity.FilesDownloadHandler.ashx"
type
=
"Telerik.Sitefinity.Modules.Files.FilesDownloadHandler, Telerik.Sitefinity"
/>
<
add
verb
=
"*"
path
=
"Telerik.Sitefinity.LibrariesRadUploadHandler.ashx"
type
=
"Telerik.Sitefinity.Modules.Libraries.Web.LibrariesRadUploadHandler, Telerik.Sitefinity"
/>
<
add
verb
=
"*"
path
=
"Telerik.Sitefinity.ThumbnailUploadHandler.ashx"
type
=
"Telerik.Sitefinity.Modules.Libraries.Web.ThumbnailUploadHandler, Telerik.Sitefinity"
/>
<
add
verb
=
"*"
path
=
"*.asmx"
validate
=
"false"
type
=
"System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
/>
<
add
verb
=
"*"
path
=
"*_AppService.axd"
validate
=
"false"
type
=
"System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
/>
<
add
verb
=
"GET,HEAD"
path
=
"ScriptResource.axd"
type
=
"System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
validate
=
"false"
/>
<
add
verb
=
"*"
validate
=
"false"
path
=
"Telerik.Web.UI.DialogHandler.axd"
type
=
"Telerik.Web.UI.DialogHandler, Telerik.Web.UI"
/>
<
add
verb
=
"*"
path
=
"Telerik.Sitefinity.AsyncImageUploadHandler.ashx"
type
=
"Telerik.Sitefinity.Modules.Libraries.Web.AsyncImageUploadHandler, Telerik.Sitefinity"
/>
<
add
verb
=
"*"
path
=
"Telerik.Sitefinity.AsyncFileUploadHandler.ashx"
type
=
"Telerik.Sitefinity.Workflow.AsyncFileUploadHandler, Telerik.Sitefinity"
/>
<
add
verb
=
"*"
path
=
"Telerik.Sitefinity.AsyncToolsetXmlUploadHandler.ashx"
type
=
"Telerik.Sitefinity.Configuration.Web.Services.AsyncToolsetXmlUploadHandler, Telerik.Sitefinity"
/>
<
add
verb
=
"*"
path
=
"Telerik.Web.UI.WebResource.axd"
type
=
"Telerik.Web.UI.WebResource"
validate
=
"false"
/>
<
add
path
=
"Telerik.Web.UI.DialogHandler.aspx"
verb
=
"*"
type
=
"Telerik.Web.UI.DialogHandler"
validate
=
"false"
/>
<
add
verb
=
"*"
path
=
"Telerik.ReportViewer.axd"
type
=
"Telerik.ReportViewer.WebForms.HttpHandler, Telerik.ReportViewer.WebForms"
/>
<
add
verb
=
"*"
path
=
"*.css, *.js, *.jpg, *.jpeg, *.gif, *.png, *.mp3, *.ogg, *.swf, *.ico"
type
=
"System.Web.StaticFileHandler"
/>
</
httpHandlers
>
<
httpModules
>
<
add
name
=
"ScriptModule"
type
=
"System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
/>
<
add
name
=
"Sitefinity"
type
=
"Telerik.Sitefinity.Web.SitefinityHttpModuleIIS6, Telerik.Sitefinity"
/>
<
add
name
=
"RadUploadModule"
type
=
"Telerik.Web.UI.RadUploadHttpModule, Telerik.Web.UI"
/>
<
add
name
=
"SitefinityAnalyticsModule"
type
=
"Telerik.Sitefinity.Analytics.Server.DependencyResolution.Module.DependencyRegistrarHttpModule, Telerik.Sitefinity.Analytics.Server.DependencyResolution"
/>
<
add
name
=
"SitefinityAtompubModule"
type
=
"Telerik.Sitefinity.Security.SitefinityAtompubModule, Telerik.Sitefinity"
/>
<
add
name
=
"AdminIpFilter"
type
=
"AdminIpFilter, App_Code"
/>
</
httpModules
>
</
system.web
>
<
system.serviceModel
>
<
bindings
>
<
basicHttpBinding
>
<
binding
name
=
"basicHttpBinding"
maxReceivedMessageSize
=
"2147483647"
maxBufferSize
=
"2147483647"
>
<
security
mode
=
"None"
/>
</
binding
>
<!-- note: To enable https/SSL support for the Analytics module, uncomment this binding -->
<!--<
binding
name
=
"webBinding"
maxReceivedMessageSize
=
"2147483647"
maxBufferSize
=
"2147483647"
>
<
security
mode
=
"Transport"
>
<
transport
clientCredentialType
=
"None"
/>
</
security
>
</
binding
>-->
</
basicHttpBinding
>
</
bindings
>
<
behaviors
>
<
endpointBehaviors
>
<
behavior
name
=
"SitefinityWebApp.Sitefinity.Services.Content.EventsAspNetAjaxBehavior"
>
<
enableWebScript
/>
</
behavior
>
</
endpointBehaviors
>
<
serviceBehaviors
>
<
behavior
>
<
serviceMetadata
httpGetEnabled
=
"true"
/>
<
serviceDebug
includeExceptionDetailInFaults
=
"true"
/>
<!--<openAccessWorkflowTracking applicationName="/workflow" />-->
</
behavior
>
<
behavior
name
=
"Telerik.Sitefinity.Analytics.Infrastructure.Services.AnalyticsPermissionsServiceBehavior"
>
<
serviceMetadata
httpGetEnabled
=
"true"
/>
<
serviceDebug
includeExceptionDetailInFaults
=
"false"
/>
</
behavior
>
<
behavior
name
=
"Telerik.Sitefinity.Analytics.Server.GoogleAnalyticsPlugin.Services.AccountsServiceBehavior"
>
<
serviceMetadata
httpGetEnabled
=
"true"
/>
<
serviceDebug
includeExceptionDetailInFaults
=
"false"
/>
</
behavior
>
<
behavior
name
=
"Telerik.Sitefinity.Analytics.Server.Infrastructure.Services.DashboardDataBehavior"
>
<
serviceMetadata
httpGetEnabled
=
"true"
/>
<
serviceDebug
includeExceptionDetailInFaults
=
"false"
/>
</
behavior
>
<
behavior
name
=
"Telerik.Sitefinity.Analytics.Server.Infrastructure.Services.MapDataServiceBehavior"
>
<
serviceMetadata
httpGetEnabled
=
"true"
/>
<
serviceDebug
includeExceptionDetailInFaults
=
"false"
/>
</
behavior
>
<
behavior
name
=
"Telerik.Sitefinity.Web.Services.LocalizationBehavior"
/>
</
serviceBehaviors
>
</
behaviors
>
<
services
>
<
service
name
=
"SitefinityWebApp.Sitefinity.Services.Content.Events"
>
<
endpoint
address
=
""
behaviorConfiguration
=
"SitefinityWebApp.Sitefinity.Services.Content.EventsAspNetAjaxBehavior"
binding
=
"webHttpBinding"
contract
=
"SitefinityWebApp.Sitefinity.Services.Content.Events"
/>
</
service
>
<
service
behaviorConfiguration
=
"Telerik.Sitefinity.Analytics.Infrastructure.Services.AnalyticsPermissionsServiceBehavior"
name
=
"Telerik.Sitefinity.Analytics.Infrastructure.Services.AnalyticsPermissionsService"
>
<
endpoint
address
=
""
binding
=
"basicHttpBinding"
bindingConfiguration
=
"basicHttpBinding"
contract
=
"Telerik.Sitefinity.Analytics.Infrastructure.Services.AnalyticsPermissionsService"
/>
<!-- note: To enable https/SSL support for the Analytics module, uncomment this endpoint -->
<!--<
endpoint
address
=
""
binding
=
"basicHttpBinding"
bindingConfiguration
=
"webBinding"
contract
=
"Telerik.Sitefinity.Analytics.Infrastructure.Services.AnalyticsPermissionsService"
/>-->
</
service
>
<
service
behaviorConfiguration
=
"Telerik.Sitefinity.Analytics.Server.GoogleAnalyticsPlugin.Services.AccountsServiceBehavior"
name
=
"Telerik.Sitefinity.Analytics.Server.GoogleAnalyticsPlugin.Services.AccountsService"
>
<
endpoint
address
=
""
binding
=
"basicHttpBinding"
bindingConfiguration
=
"basicHttpBinding"
contract
=
"Telerik.Sitefinity.Analytics.Server.GoogleAnalyticsPlugin.Services.AccountsService"
/>
<!-- note: To enable https/SSL support for the Analytics module, uncomment this endpoint -->
<!--<
endpoint
address
=
""
binding
=
"basicHttpBinding"
bindingConfiguration
=
"webBinding"
contract
=
"Telerik.Sitefinity.Analytics.Server.GoogleAnalyticsPlugin.Services.AccountsService"
/>-->
</
service
>
<
service
behaviorConfiguration
=
"Telerik.Sitefinity.Analytics.Server.Infrastructure.Services.DashboardDataBehavior"
name
=
"Telerik.Sitefinity.Analytics.Server.Infrastructure.Services.DashboardData"
>
<
endpoint
address
=
""
binding
=
"basicHttpBinding"
bindingConfiguration
=
"basicHttpBinding"
contract
=
"Telerik.Sitefinity.Analytics.Server.Infrastructure.Services.DashboardData"
/>
<!-- note: To enable https/SSL support for the Analytics module, uncomment this endpoint -->
<!--<
endpoint
address
=
""
binding
=
"basicHttpBinding"
bindingConfiguration
=
"webBinding"
contract
=
"Telerik.Sitefinity.Analytics.Server.Infrastructure.Services.DashboardData"
/>-->
</
service
>
<
service
behaviorConfiguration
=
"Telerik.Sitefinity.Analytics.Server.Infrastructure.Services.MapDataServiceBehavior"
name
=
"Telerik.Sitefinity.Analytics.Server.Infrastructure.Services.MapDataService"
>
<
endpoint
address
=
""
binding
=
"basicHttpBinding"
bindingConfiguration
=
"basicHttpBinding"
contract
=
"Telerik.Sitefinity.Analytics.Server.Infrastructure.Services.MapDataService"
/>
<!-- note: To enable https/SSL support for the Analytics module, uncomment this endpoint -->
<!--<
endpoint
address
=
""
binding
=
"basicHttpBinding"
bindingConfiguration
=
"webBinding"
contract
=
"Telerik.Sitefinity.Analytics.Server.Infrastructure.Services.MapDataService"
/>-->
</
service
>
</
services
>
<
serviceHostingEnvironment
aspNetCompatibilityEnabled
=
"true"
multipleSiteBindingsEnabled
=
"true"
/>
</
system.serviceModel
>
<!--
The system.webServer section is required for running ASP.NET AJAX under Internet
Information Services 7.0. It is not necessary for previous version of IIS.
-->
<
system.webServer
>
<
security
>
<
requestFiltering
>
<
requestLimits
maxAllowedContentLength
=
"209715200"
/>
</
requestFiltering
>
</
security
>
<
validation
validateIntegratedModeConfiguration
=
"false"
/>
<
modules
runAllManagedModulesForAllRequests
=
"true"
>
<
remove
name
=
"WebDAVModule"
/>
<
remove
name
=
"UrlRoutingModule"
/>
<
remove
name
=
"ScriptModule"
/>
<
remove
name
=
"RadUploadModule"
/>
<
remove
name
=
"Sitefinity"
/>
<
remove
name
=
"SitefinityAnalyticsModule"
/>
<
remove
name
=
"SitefinityAtompubModule"
/>
<
add
name
=
"ScriptModule"
preCondition
=
"managedHandler"
type
=
"System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
/>
<
add
name
=
"Sitefinity"
type
=
"Telerik.Sitefinity.Web.SitefinityHttpModule, Telerik.Sitefinity"
/>
<
add
name
=
"RadUploadModule"
type
=
"Telerik.Web.UI.RadUploadHttpModule, Telerik.Web.UI"
/>
<
add
name
=
"SitefinityAnalyticsModule"
type
=
"Telerik.Sitefinity.Analytics.Server.DependencyResolution.Module.DependencyRegistrarHttpModule, Telerik.Sitefinity.Analytics.Server.DependencyResolution"
/>
<
add
name
=
"SitefinityAtompubModule"
type
=
"Telerik.Sitefinity.Security.SitefinityAtompubModule, Telerik.Sitefinity"
/>
</
modules
>
<
handlers
>
<
remove
name
=
"WebDAV"
/>
<
remove
name
=
"ScriptHandlerFactory"
/>
<
remove
name
=
"ScriptHandlerFactoryAppServices"
/>
<
remove
name
=
"ScriptResource"
/>
<
remove
name
=
"UrlRoutingHandler"
/>
<
remove
name
=
"WildCard"
/>
<
remove
name
=
"WildCard32"
/>
<
remove
name
=
"Telerik.Web.UI.DialogHandler"
/>
<
remove
name
=
"Telerik.RadUploadProgressHandler"
/>
<
remove
name
=
"Telerik.Sitefinity.FilesDownloadHandler"
/>
<
remove
name
=
"Telerik.Sitefinity.LibrariesRadUploadHandler"
/>
<
remove
name
=
"Telerik.Sitefinity.AsyncImageUploadHandler"
/>
<
remove
name
=
"Telerik.Sitefinity.AsyncFileUploadHandler"
/>
<
remove
name
=
"Telerik.Sitefinity.AsyncToolsetXmlUploadHandler"
/>
<
remove
name
=
"Telerik.Web.UI.SpellCheckHandler"
/>
<
remove
name
=
"Telerik_Web_UI_WebResource_axd"
/>
<
remove
name
=
"Telerik_Web_UI_DialogHandler_aspx"
/>
<
add
name
=
"ScriptHandlerFactory"
verb
=
"*"
path
=
"*.asmx"
preCondition
=
"integratedMode"
type
=
"System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
/>
<
add
name
=
"ScriptHandlerFactoryAppServices"
verb
=
"*"
path
=
"*_AppService.axd"
preCondition
=
"integratedMode"
type
=
"System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
/>
<
add
name
=
"ScriptResource"
preCondition
=
"integratedMode"
verb
=
"GET,HEAD"
path
=
"ScriptResource.axd"
type
=
"System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
/>
<
add
name
=
"WildCard"
path
=
"*"
verb
=
"*"
modules
=
"IsapiModule"
scriptProcessor
=
"%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll"
resourceType
=
"Unspecified"
requireAccess
=
"None"
preCondition
=
"classicMode,runtimeVersionv4.0,bitness64"
/>
<
add
name
=
"WildCard32"
path
=
"*"
verb
=
"*"
modules
=
"IsapiModule"
scriptProcessor
=
"%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll"
resourceType
=
"Unspecified"
requireAccess
=
"None"
preCondition
=
"classicMode,runtimeVersionv4.0,bitness32"
/>
<
add
name
=
"Telerik.Web.UI.DialogHandler"
path
=
"Telerik.Web.UI.DialogHandler.axd"
verb
=
"*"
type
=
"Telerik.Web.UI.DialogHandler, Telerik.Web.UI"
/>
<
add
name
=
"Telerik.RadUploadProgressHandler"
path
=
"Telerik.RadUploadProgressHandler.ashx"
verb
=
"*"
type
=
"Telerik.Web.UI.Upload.RadUploadProgressHandler, Telerik.Web.UI"
/>
<
add
name
=
"Telerik.Sitefinity.FilesDownloadHandler"
path
=
"Telerik.Sitefinity.FilesDownloadHandler.ashx"
verb
=
"*"
type
=
"Telerik.Sitefinity.Modules.Files.FilesDownloadHandler, Telerik.Sitefinity"
/>
<
add
name
=
"Telerik.Sitefinity.LibrariesRadUploadHandler"
path
=
"Telerik.Sitefinity.LibrariesRadUploadHandler.ashx"
verb
=
"*"
type
=
"Telerik.Sitefinity.Modules.Libraries.Web.LibrariesRadUploadHandler, Telerik.Sitefinity"
/>
<
add
name
=
"Telerik.Sitefinity.ThumbnailUploadHandler"
path
=
"Telerik.Sitefinity.ThumbnailUploadHandler.ashx"
verb
=
"*"
type
=
"Telerik.Sitefinity.Modules.Libraries.Web.ThumbnailUploadHandler, Telerik.Sitefinity"
/>
<
add
name
=
"Telerik.Sitefinity.AsyncImageUploadHandler"
path
=
"Telerik.Sitefinity.AsyncImageUploadHandler.ashx"
verb
=
"*"
type
=
"Telerik.Sitefinity.Modules.Libraries.Web.AsyncImageUploadHandler, Telerik.Sitefinity"
/>
<
add
name
=
"Telerik.Sitefinity.AsyncFileUploadHandler"
path
=
"Telerik.Sitefinity.AsyncFileUploadHandler.ashx"
verb
=
"*"
type
=
"Telerik.Sitefinity.Workflow.AsyncFileUploadHandler, Telerik.Sitefinity"
/>
<
add
name
=
"Telerik.Sitefinity.AsyncToolsetXmlUploadHandler"
path
=
"Telerik.Sitefinity.AsyncToolsetXmlUploadHandler.ashx"
verb
=
"*"
type
=
"Telerik.Sitefinity.Configuration.Web.Services.AsyncToolsetXmlUploadHandler, Telerik.Sitefinity"
/>
<
add
name
=
"Telerik.Web.UI.SpellCheckHandler"
verb
=
"*"
path
=
"Telerik.Web.UI.SpellCheckHandler.axd"
type
=
"Telerik.Web.UI.SpellCheckHandler, Telerik.Web.UI"
/>
<
add
name
=
"Telerik_Web_UI_WebResource_axd"
verb
=
"*"
path
=
"Telerik.Web.UI.WebResource.axd"
preCondition
=
"integratedMode"
type
=
"Telerik.Web.UI.WebResource"
/>
<
add
name
=
"Telerik_Web_UI_DialogHandler_aspx"
verb
=
"*"
preCondition
=
"integratedMode"
path
=
"Telerik.Web.UI.DialogHandler.aspx"
type
=
"Telerik.Web.UI.DialogHandler"
/>
<
add
name
=
"Telerik.ReportViewer.axd_*"
verb
=
"*"
preCondition
=
"integratedMode"
path
=
"Telerik.ReportViewer.axd"
type
=
"Telerik.ReportViewer.WebForms.HttpHandler, Telerik.ReportViewer.WebForms"
/>
</
handlers
>
<
staticContent
>
<
clientCache
cacheControlMode
=
"UseMaxAge"
cacheControlMaxAge
=
"31.00:00:00"
/>
</
staticContent
>
<
urlCompression
doDynamicCompression
=
"true"
doStaticCompression
=
"true"
dynamicCompressionBeforeCache
=
"false"
/>
</
system.webServer
>
<
madam
>
<
userSecurityAuthority
realm
=
"Sitefinity"
provider
=
"Telerik.Sitefinity.Utilities.MS.Madam.FormsUserSecurityAuthority"
exposeClearTextPassword
=
"false "
/>
<
formsAuthenticationDisposition
>
<
discriminators
all
=
"1"
>
<!-- This discriminator helps detect redirection to the Forms login page. -->
<
discriminator
inputExpression
=
"Response.RedirectLocation"
pattern
=
"login.aspx\?returnurl\="
type
=
"Telerik.Sitefinity.Utilities.MS.Madam.RegexDiscriminator"
/>
<
discriminator
type
=
"Telerik.Sitefinity.Utilities.MS.Madam.Discriminator"
all
=
"false"
>
<
discriminator
inputExpression
=
"Request.Url"
pattern
=
"atompub/.*"
type
=
"Telerik.Sitefinity.Utilities.MS.Madam.RegexDiscriminator"
/>
</
discriminator
>
</
discriminators
>
</
formsAuthenticationDisposition
>
<
basicAuthentication
>
<
discriminators
all
=
"1"
>
<
discriminator
type
=
"Telerik.Sitefinity.Utilities.MS.Madam.Discriminator"
all
=
"false"
>
<
discriminator
inputExpression
=
"Request.Url"
pattern
=
"atompub/.*"
type
=
"Telerik.Sitefinity.Utilities.MS.Madam.RegexDiscriminator"
/>
</
discriminator
>
</
discriminators
>
</
basicAuthentication
>
</
madam
>
<!-- Begin telerik section -->
<!--<
telerik
>
<
sitefinity
>
<
environment
platform
=
"WindowsAzure"
/>
<
sitefinityConfig
storageMode
=
"Database"
/>
</
sitefinity
>
</
telerik
>-->
<!-- End telerik section -->
</
configuration
>
Hey Victor, does anything look out of the ordinary with my web.config?
Hi Jeff,
Your webconfig looks ok, however for the httphandlers section I would suggest to have separate entries for each static file handler, for example:
<
add
verb
=
"*"
path
=
"*.png"
type
=
"System.Web.StaticFileHandler"
/>
<
add
verb
=
"*"
path
=
"*.css"
type
=
"System.Web.StaticFileHandler"
/>
<
add
verb
=
"*"
path
=
"*.swf"
type
=
"System.Web.StaticFileHandler"
/>
Remove the spaces from:
<
add
verb
=
"*"
path
=
"*.css, *.js, *.jpg, *.jpeg, *.gif, *.png, *.mp3, *.ogg, *.swf, *.ico"
type
=
"System.Web.StaticFileHandler"
/>
<
add
verb
=
"*"
path
=
"*.css,*.js,*.jpg,*.jpeg,*.gif,*.png,*.mp3,*.ogg,*.swf,*.ico"
type="System.Web.StaticFileHandler"/>