htmliisiis-7.5ssiserver-side-includes

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


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.


Solution

  • 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