Use web.config to allow server-side includes in HTML files (IIS)

Trojan picture Trojan · Jul 17, 2013 · Viewed 7.9k times · Source

In IIS 7.5, is it possible to use web.config alone to enable SSI processing for files that have the .html extension? Specifically, I don't want to use the default SSI extension, .shtml.

Reason: I don't want to change the extensions. Doing so would lead to broken links in search engine results.

Also, my motivation for doing this in web.config is because this is a shared server.

Answer

Kev picture Kev · Jul 17, 2013

Presuming that your hoster has enabled SSI's and delegated Read/Write permissions for handler mappings then this should work:

<configuration>
    <system.webServer>
        <handlers>
            <add name="SSINC-html" 
                 path="*.html" 
                 verb="*" 
                 modules="ServerSideIncludeModule" 
                 resourceType="File" 
                 requireAccess="Script" />
        </handlers>
    </system.webServer>
</configuration>

Whilst we're on the topic, Robert McMurray (MSFT IIS staffer) has a fairly recent refresher blog post all about SSI's here:

http://blogs.iis.net/robert_mcmurray/archive/2010/12/28/iis-notes-on-server-side-includes-ssi-syntax-kb-203064-revisited.aspx