Help needed with file and image handler

Topics: ASP.NET 2.0, Controls
May 10, 2011 at 3:40 AM

My BlogEngine 1.5 site at www.morrellplumbing.com.au is not handling image and file requests.

A local installation of BlogEngine 2.0 with the same data is also not working.

Help please!

Coordinator
May 10, 2011 at 7:40 AM
Edited May 10, 2011 at 7:41 AM

Are you using a modified version of the web.config file?  Is this site on a server (or web hosting plan) with another website or application?

It looks like none of the AXD handlers are working, including the RSS syndication one:
http://www.morrellplumbing.com.au/syndication.axd

What comes to mind is either the web.config file is not setup correctly, or there's a parent site where some of its settings are propagating down to your blog.  These are just wild guesses.

May 11, 2011 at 7:30 AM

hi,BenAmada, i have a problem like this one, after I deloyed my blog onto godaddy share hosting server, all my images ( like this "/pics/xxx.png") are down,

and I cann't edit my post, because the url "http://1ingx.com/editors/tiny_mce_3_3_9_2/tiny_mce.js" return a  403(Forbidden) error,

any suggestion  for this?

May 12, 2011 at 12:28 AM

It's on a web hosting provider. They recently underwent a server upgrade and my problems may date from then. They are supporting .NET 4.0 but my application is still in the .NET version 1.5 was written in.

The relevent extract from the web.config is:

- <httpModules>
  <add name="WwwSubDomainModule" type="BlogEngine.Core.Web.HttpModules.WwwSubDomainModule, BlogEngine.Core" /> 
  <add name="UrlRewrite" type="BlogEngine.Core.Web.HttpModules.UrlRewrite, BlogEngine.Core" /> 
  <add name="CompressionModule" type="BlogEngine.Core.Web.HttpModules.CompressionModule, BlogEngine.Core" /> 
  <add name="ReferrerModule" type="BlogEngine.Core.Web.HttpModules.ReferrerModule, BlogEngine.Core" /> 
- <!-- Remove the default ASP.NET modules we don't need
  --> 
  <remove name="PassportAuthentication" /> 
  <remove name="Profile" /> 
  <remove name="AnonymousIdentification" /> 
  <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
  </httpModules>
- <httpHandlers>
  <add verb="*" path="file.axd" type="BlogEngine.Core.Web.HttpHandlers.FileHandler, BlogEngine.Core" validate="false" /> 
  <add verb="*" path="image.axd" type="BlogEngine.Core.Web.HttpHandlers.ImageHandler, BlogEngine.Core" validate="false" /> 
  <add verb="*" path="syndication.axd" type="BlogEngine.Core.Web.HttpHandlers.SyndicationHandler, BlogEngine.Core" validate="false" /> 
  <add verb="*" path="sitemap.axd" type="BlogEngine.Core.Web.HttpHandlers.SiteMap, BlogEngine.Core" validate="false" /> 
  <add verb="*" path="trackback.axd" type="BlogEngine.Core.Web.HttpHandlers.TrackbackHandler, BlogEngine.Core" validate="false" /> 
  <add verb="*" path="pingback.axd" type="BlogEngine.Core.Web.HttpHandlers.PingbackHandler, BlogEngine.Core" validate="false" /> 
  <add verb="*" path="opensearch.axd" type="BlogEngine.Core.Web.HttpHandlers.OpenSearchHandler, BlogEngine.Core" validate="false" /> 
  <add verb="*" path="metaweblog.axd" type="BlogEngine.Core.API.MetaWeblog.MetaWeblogHandler, BlogEngine.Core" validate="false" /> 
  <add verb="*" path="rsd.axd" type="BlogEngine.Core.Web.HttpHandlers.RsdHandler, BlogEngine.Core" validate="false" /> 
  <add verb="*" path="css.axd" type="BlogEngine.Core.Web.HttpHandlers.CssHandler, BlogEngine.Core" validate="false" /> 
  <add verb="*" path="js.axd" type="BlogEngine.Core.Web.HttpHandlers.JavaScriptHandler, BlogEngine.Core" validate="false" /> 
  <add verb="*" path="rating.axd" type="BlogEngine.Core.Web.HttpHandlers.RatingHandler, BlogEngine.Core" validate="false" /> 
  <add verb="*" path="opml.axd" type="BlogEngine.Core.Web.HttpHandlers.OpmlHandler, BlogEngine.Core" validate="false" /> 
  <add verb="*" path="blogml.axd" type="BlogEngine.Core.Web.HttpHandlers.BlogMLExportHandler, BlogEngine.Core" validate="false" /> 
  <add verb="*" path="sioc.axd" type="BlogEngine.Core.Web.HttpHandlers.Sioc, BlogEngine.Core" validate="false" /> 
  <add verb="*" path="apml.axd" type="BlogEngine.Core.Web.HttpHandlers.Apml, BlogEngine.Core" validate="false" /> 
  <add verb="*" path="foaf*.axd" type="BlogEngine.Core.Web.HttpHandlers.Foaf, BlogEngine.Core" validate="false" /> 
  <remove verb="*" path="*.asmx" /> 
  <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
  <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
  <add verb="GET,HEAD" path="ScriptResource.axd" validate="false" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
  </httpHandlers>

Coordinator
May 12, 2011 at 4:24 AM
Edited May 12, 2011 at 4:32 AM

It looks like your site is on IIS7.  Do you have a <system.webServer> section in your web.config file?  For IIS7, usually it's the <modules> and <handlers> sections within <system.webServer> that are used.

The <httpHandlers> and <httpModules> sections you pasted here are for IIS6.  Although if your site is in an IIS7 "classic mode" application pool, the <httpHandlers> and <httpModules> sections might be used.  If your site is in the default IIS7 "integration mode" application pool, then it would be the <modules> and <handlers> sections in the <system.webServer> section that would be used.

If you do have a <system.webServer> section with <modules> and <handlers>, they probably look very similar to the <httpHandlers> and <httpModules>.

How is 1ingx.com associated with your .com.au site?  Do you have 2 or more sites on the same hosting plan ... with some type of redirecting or URL rewriting going on?

May 12, 2011 at 7:45 AM

I do not have a <system.webServer> section - do you have a copy of an SQL web.config file for blogEngine that is configured for IIS7?

I have no idea what 1ingx.com is - why do you think it is associated with us?

Coordinator
May 12, 2011 at 8:36 AM

Here's the web.config file that is included with BE 1.5 (it's 1.5.0.7, the same version that is on your blog):

http://blogengine.codeplex.com/SourceControl/changeset/view/74f8fd063327#BlogEngine%2fBlogEngine.NET%2fWeb.Config

The contents of the web.config file will appear at the above link.  You can select all with your mouse, copy and paste into your web.config file.  It has the <system.webServer> section in it.  I'm not sure if that's what is causing the problems with the images and other handlers like syndication.axd not coming up, but it's probably good to have the <system.webServer> section since you are on IIS7.

If you are on your website trying to create/edit a post and getting messages about a tiny_mce.js error at 1ing.com, it sounds like a file on your server is referencing tiny_mce.js located at that domain name, rather than referencing the tiny_mce.js at your own domain name.  tiny_mce.js (as you may know) is the JavaScript file used for the WYSIWYG editor.  I suppose files on your website could be compromised, but I'm not sure and don't want you to panic!

May 23, 2011 at 6:54 AM

I have tried to set up a V2.0 replacement but I am getting the same problems. This is the web.config from the SQL server directory that I am using in its entirity. Any further ideas?

<?xml version="1.0"?>
<configuration>
	<configSections>
		<sectionGroup name="BlogEngine">
			<section name="blogProvider" requirePermission="false" type="BlogEngine.Core.Providers.BlogProviderSection, BlogEngine.Core" allowDefinition="MachineToApplication" restartOnExternalChanges="true"/>
		</sectionGroup>
	</configSections>
	<BlogEngine>
		<blogProvider defaultProvider="DbBlogProvider">
			<providers>
				<add name="XmlBlogProvider" type="BlogEngine.Core.Providers.XmlBlogProvider, BlogEngine.Core"/>
				<add name="DbBlogProvider" type="BlogEngine.Core.Providers.DbBlogProvider, BlogEngine.Core" connectionStringName="BlogEngine"/>
			</providers>
		</blogProvider>
	</BlogEngine>
	<connectionStrings>
		<clear/>
		<add name="LocalSqlServer" connectionString="dummy"/>
		<!-- Mono complains if LocalSqlServer isn't specified -->
		<add name="BlogEngine" connectionString="Data Source=LaLaLa;User ID=LaLaLa;Password=LaLaLa;persist security info=False;initial catalog=LaLaLa;" providerName="System.Data.SqlClient"/>
		<add name="DummyServer" connectionString="dummy"/>
	</connectionStrings>
	<appSettings>
		<add key="BlogEngine.FileExtension" value=".aspx"/>
		<!-- You can e.g. use "~/blog/" if BlogEngine.NET is not located in the root of the application -->
		<add key="BlogEngine.VirtualPath" value="~/"/>
		<!-- The regex used to identify mobile devices so a different theme can be shown -->
		<add key="BlogEngine.MobileDevices" value="(iemobile|iphone|ipod|android|nokia|sonyericsson|blackberry|samsung|sec\-|windows ce|motorola|mot\-|up.b|midp\-)"/>
		<!-- The name of the role with administrator permissions -->
		<add key="BlogEngine.AdminRole" value="Administrators"/>
		<!-- The name of the role for anonymous(non-authenticated) users. -->
		<add key="BlogEngine.AnonymousRole" value="Anonymous"/>
		<!-- The name of the role for Editors -->
		<add key="BlogEngine.EditorsRole" value="Editors"/>
		<!--This value is to provide an alterantive location for storing data.-->
		<add key="StorageLocation" value="~/App_Data/"/>
		<!--A comma separated list of script names to hard minify. It's case-sensitive. -->
		<add key="BlogEngine.HardMinify" value="blog.js,widget.js,WebResource.axd"/>
	</appSettings>
	<system.serviceModel>
		<services>
			<service behaviorConfiguration="AuthenticationServiceBehaviors" name="System.Web.ApplicationServices.AuthenticationService">
				<endpoint binding="basicHttpBinding" contract="System.Web.ApplicationServices.AuthenticationService"/>
			</service>
		</services>
		<serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
		<behaviors>
			<serviceBehaviors>
				<behavior name="AuthenticationServiceBehaviors">
					<serviceMetadata httpGetEnabled="true"/>
				</behavior>
			</serviceBehaviors>
		</behaviors>
	</system.serviceModel>
	<system.web.extensions>
		<scripting>
			<webServices>
				<authenticationService enabled="true" requireSSL="false"/>
			</webServices>
		</scripting>
	</system.web.extensions>
	<system.web>
		<compilation debug="true" targetFramework="4.0">
			<assemblies>
				<add assembly="System.Management, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
				<add assembly="System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
				<add assembly="System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
				<add assembly="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
				<add assembly="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
				<add assembly="System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
				<add assembly="System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
			</assemblies>
			<expressionBuilders>
				<add expressionPrefix="LinqLength" type="BlogEngine.Core.Compilation.LinqLengthExpressionBuilder, BlogEngine.Core"/>
				<add expressionPrefix="Reflect" type="BlogEngine.Core.Compilation.ReflectExpressionBuilder, BlogEngine.Core"/>
				<add expressionPrefix="Session" type="BlogEngine.Core.Compilation.SessionExpressionBuilder, BlogEngine.Core"/>
				<add expressionPrefix="Server" type="BlogEngine.Core.Compilation.ServerVariableExpressionBuilder, BlogEngine.Core"/>
				<add expressionPrefix="QueryString" type="BlogEngine.Core.Compilation.QueryStringExpressionBuilder, BlogEngine.Core"/>
				<add expressionPrefix="Code" type="BlogEngine.Core.Compilation.CodeExpressionBuilder, BlogEngine.Core"/>
			</expressionBuilders>
		</compilation>
		<globalization requestEncoding="utf-8" responseEncoding="utf-8" culture="auto" uiCulture="auto"/>
		<httpRuntime enableVersionHeader="false" useFullyQualifiedRedirectUrl="true" maxRequestLength="16384" executionTimeout="3600" requestLengthDiskThreshold="16384" requestValidationMode="2.0"/>
		<machineKey validationKey="D9F7287EFDE8DF4CAFF79011D5308643D8F62AE10CDF30DAB640B7399BF6C57B0269D60A23FBCCC736FC2487ED695512BA95044DE4C58DC02C2BA0C4A266454C" decryptionKey="BDAAF7E00B69BA47B37EEAC328929A06A6647D4C89FED3A7D5C52B12B23680F4" validation="SHA1" decryption="AES"/>
		<authentication mode="Forms">
			<forms timeout="129600" name=".AUXBLOGENGINE" protection="All" slidingExpiration="true" loginUrl="~/Account/login.aspx" cookieless="UseCookies"/>
		</authentication>
		<pages enableSessionState="false" enableViewStateMac="true" enableEventValidation="true" controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID">
			<controls>
				<add namespace="App_Code.Controls" tagPrefix="blog"/>
			</controls>
		</pages>
		<customErrors mode="RemoteOnly" defaultRedirect="~/error.aspx" redirectMode="ResponseRewrite">
			<error statusCode="404" redirect="~/error404.aspx"/>
		</customErrors>
		<membership defaultProvider="DbMembershipProvider">
			<providers>
				<clear/>
				<add name="XmlMembershipProvider" type="BlogEngine.Core.Providers.XmlMembershipProvider, BlogEngine.Core" description="XML membership provider" passwordFormat="Hashed"/>
				<add name="SqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="BlogEngine" applicationName="BlogEngine"/>
				<add name="DbMembershipProvider" type="BlogEngine.Core.Providers.DbMembershipProvider, BlogEngine.Core" passwordFormat="Hashed" connectionStringName="BlogEngine"/>
			</providers>
		</membership>
		<roleManager defaultProvider="DbRoleProvider" enabled="true" cacheRolesInCookie="true" cookieName=".BLOGENGINEROLES">
			<providers>
				<clear/>
				<add name="XmlRoleProvider" type="BlogEngine.Core.Providers.XmlRoleProvider, BlogEngine.Core" description="XML role provider"/>
				<add name="SqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="BlogEngine" applicationName="BlogEngine"/>
				<add name="DbRoleProvider" type="BlogEngine.Core.Providers.DbRoleProvider, BlogEngine.Core" connectionStringName="BlogEngine"/>
			</providers>
		</roleManager>
		<siteMap defaultProvider="PageSiteMap" enabled="true">
			<providers>
				<add name="PageSiteMap" description="The site map provider that reads in the .sitemap XML files." type="BlogEngine.Core.Web.Controls.PageSiteMap, BlogEngine.Core"/>
				<add name="SecuritySiteMap" description="Used for authenticated users." type="BlogEngine.Core.SecuritySiteMapProvider, BlogEngine.Core" securityTrimmingEnabled="true" siteMapFile="Web.sitemap"/>
			</providers>
		</siteMap>
		<httpModules>
			<add name="WwwSubDomainModule" type="BlogEngine.Core.Web.HttpModules.WwwSubDomainModule, BlogEngine.Core"/>
			<add name="UrlRewrite" type="BlogEngine.Core.Web.HttpModules.UrlRewrite, BlogEngine.Core"/>
			<add name="CompressionModule" type="BlogEngine.Core.Web.HttpModules.CompressionModule, BlogEngine.Core"/>
			<add name="ReferrerModule" type="BlogEngine.Core.Web.HttpModules.ReferrerModule, BlogEngine.Core"/>
			<!--Remove the default ASP.NET modules we don't need-->
			<remove name="PassportAuthentication"/>
			<remove name="Profile"/>
			<remove name="AnonymousIdentification"/>
		</httpModules>
		<httpHandlers>
			<add verb="*" path="file.axd" type="BlogEngine.Core.Web.HttpHandlers.FileHandler, BlogEngine.Core" validate="false"/>
			<add verb="*" path="image.axd" type="BlogEngine.Core.Web.HttpHandlers.ImageHandler, BlogEngine.Core" validate="false"/>
			<add verb="*" path="syndication.axd" type="BlogEngine.Core.Web.HttpHandlers.SyndicationHandler, BlogEngine.Core" validate="false"/>
			<add verb="*" path="sitemap.axd" type="BlogEngine.Core.Web.HttpHandlers.SiteMap, BlogEngine.Core" validate="false"/>
			<add verb="*" path="trackback.axd" type="BlogEngine.Core.Web.HttpHandlers.TrackbackHandler, BlogEngine.Core" validate="false"/>
			<add verb="*" path="pingback.axd" type="BlogEngine.Core.Web.HttpHandlers.PingbackHandler, BlogEngine.Core" validate="false"/>
			<add verb="*" path="opensearch.axd" type="BlogEngine.Core.Web.HttpHandlers.OpenSearchHandler, BlogEngine.Core" validate="false"/>
			<add verb="*" path="metaweblog.axd" type="BlogEngine.Core.API.MetaWeblog.MetaWeblogHandler, BlogEngine.Core" validate="false"/>
			<add verb="*" path="rsd.axd" type="BlogEngine.Core.Web.HttpHandlers.RsdHandler, BlogEngine.Core" validate="false"/>
			<add verb="*" path="css.axd" type="BlogEngine.Core.Web.HttpHandlers.CssHandler, BlogEngine.Core" validate="false"/>
			<add verb="*" path="js.axd" type="BlogEngine.Core.Web.HttpHandlers.JavaScriptHandler, BlogEngine.Core" validate="false"/>
			<add verb="*" path="res.axd" type="BlogEngine.Core.Web.HttpHandlers.ResourceHandler, BlogEngine.Core" validate="false"/>
			<add verb="*" path="rating.axd" type="BlogEngine.Core.Web.HttpHandlers.RatingHandler, BlogEngine.Core" validate="false"/>
			<add verb="*" path="opml.axd" type="BlogEngine.Core.Web.HttpHandlers.OpmlHandler, BlogEngine.Core" validate="false"/>
			<add verb="*" path="blogml.axd" type="BlogEngine.Core.Web.HttpHandlers.BlogMLExportHandler, BlogEngine.Core" validate="false"/>
			<add verb="*" path="sioc.axd" type="BlogEngine.Core.Web.HttpHandlers.Sioc, BlogEngine.Core" validate="false"/>
			<add verb="*" path="apml.axd" type="BlogEngine.Core.Web.HttpHandlers.Apml, BlogEngine.Core" validate="false"/>
			<add verb="*" path="foaf*.axd" type="BlogEngine.Core.Web.HttpHandlers.Foaf, BlogEngine.Core" validate="false"/>
			<add verb="*" path="*.htm" type="System.Web.StaticFileHandler"/>
		</httpHandlers>
	</system.web>
	<system.webServer>
		<validation validateIntegratedModeConfiguration="false"/>
		<!-- Enable the staticContent section below to add Expires headers to images for better performance.
				 Some hosting providers does not allow the staticContent section to be set. -->
		<!--
		<staticContent>
			<clientCache httpExpires="Sun, 29 Mar 2020 00:00:00 GMT" cacheControlMode="UseExpires" />
			<mimeMap fileExtension=".mp4" mimeType="video/mp4" />
		</staticContent>
		-->
		<modules>
			<add name="WwwSubDomainModule" type="BlogEngine.Core.Web.HttpModules.WwwSubDomainModule, BlogEngine.Core"/>
			<add name="UrlRewrite" type="BlogEngine.Core.Web.HttpModules.UrlRewrite, BlogEngine.Core"/>
			<add name="CompressionModule" type="BlogEngine.Core.Web.HttpModules.CompressionModule, BlogEngine.Core"/>
			<add name="ReferrerModule" type="BlogEngine.Core.Web.HttpModules.ReferrerModule, BlogEngine.Core"/>
		</modules>
		<handlers accessPolicy="Read, Write, Script, Execute">
			<add name="FileHandler" verb="*" path="file.axd" type="BlogEngine.Core.Web.HttpHandlers.FileHandler, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode"/>
			<add name="ImageHandler" verb="*" path="image.axd" type="BlogEngine.Core.Web.HttpHandlers.ImageHandler, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode"/>
			<add name="Syndication" verb="*" path="syndication.axd" type="BlogEngine.Core.Web.HttpHandlers.SyndicationHandler, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode"/>
			<add name="Sitemap" verb="*" path="sitemap.axd" type="BlogEngine.Core.Web.HttpHandlers.SiteMap, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode"/>
			<add name="Trackback" verb="*" path="trackback.axd" type="BlogEngine.Core.Web.HttpHandlers.TrackbackHandler, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode"/>
			<add name="Pingback" verb="*" path="pingback.axd" type="BlogEngine.Core.Web.HttpHandlers.PingbackHandler, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode"/>
			<add name="OpenSearch" verb="*" path="opensearch.axd" type="BlogEngine.Core.Web.HttpHandlers.OpenSearchHandler, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode"/>
			<add name="MetaWeblog" verb="*" path="metaweblog.axd" type="BlogEngine.Core.API.MetaWeblog.MetaWeblogHandler, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode"/>
			<add name="RSD" verb="*" path="rsd.axd" type="BlogEngine.Core.Web.HttpHandlers.RsdHandler, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode"/>
			<add name="CssHandler" verb="*" path="css.axd" type="BlogEngine.Core.Web.HttpHandlers.CssHandler, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode"/>
			<add name="Javascript" path="js.axd" verb="*" type="BlogEngine.Core.Web.HttpHandlers.JavaScriptHandler, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode"/>
			<add name="Resource" verb="*" path="res.axd" type="BlogEngine.Core.Web.HttpHandlers.ResourceHandler, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode"/>
			<add name="Rating" verb="*" path="rating.axd" type="BlogEngine.Core.Web.HttpHandlers.RatingHandler, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode"/>
			<add name="Opml" verb="*" path="opml.axd" type="BlogEngine.Core.Web.HttpHandlers.OpmlHandler, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode"/>
			<add name="BlogML" verb="*" path="blogml.axd" type="BlogEngine.Core.Web.HttpHandlers.BlogMLExportHandler, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode"/>
			<add name="SIOC" verb="*" path="sioc.axd" type="BlogEngine.Core.Web.HttpHandlers.Sioc, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode"/>
			<add name="Apml" verb="*" path="apml.axd" type="BlogEngine.Core.Web.HttpHandlers.Apml, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode"/>
			<add name="Foaf" verb="*" path="foaf*.axd" type="BlogEngine.Core.Web.HttpHandlers.Foaf, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode"/>
			<add name="Html" path="*.htm" verb="*" type="System.Web.StaticFileHandler" resourceType="Unspecified" preCondition="integratedMode"/>
		</handlers>
		<!-- Enable the httpProtocol section below to manipulate some HTTP headers.
				 Some hosting providers does not allow the httpProtocol section to be set. -->
		<!--
		<httpProtocol>
			<customHeaders>
				<remove name="X-Powered-By" />
				<add name="Etag" value=" " />
			</customHeaders>
		</httpProtocol>
		-->
	</system.webServer>
</configuration>