4

I can't get IIS to respect my SSI directives - it just outputs the #include directive as if it were regular old html.

Here's the relevant data points:

  • My file with the include directive is called index.html
  • This is my directive: <!-- #include file = "header.shtml" --> (it doesn't work with virtual either.)
  • The file being requested is in the same directory as the file being

    include-ed.

  • The SSI module is installed.
  • The SSINC-shtml handler mapping is present and enabled.

I think it might be some sort of permissions issue (read/write/execute), but I don't know where those settings are in IIS 7.5.

Josh Kodroff
  • 551
  • 3
  • 7
  • 13

3 Answers3

2

The problem is that the file is called index.html, which is not mapped to the SSI handler by default. Either:

  1. Map the .html file extension to the SSI handler which brings up another question OR
  2. Rename the file index.shtml
Josh Kodroff
  • 551
  • 3
  • 7
  • 13
0

In IIS Mgr, click on the Server / site node (whichever level is appropriate for your environment) and click Handler Mappings. Double-click on the SSINC-shtml mapping, the click the Request Restrictions... button. Check the settings in all 3 tabs there and see if you've got something set improperly.

squillman
  • 37,618
  • 10
  • 90
  • 145
0

Server-Side Includes are not enabled by Default in IIS 7 on Windows 7.

In Control Panel, Programs, Turn Windows features on off:

Check the option:

  Internet Information Services
    Application Development Features
      [x] Server-Side Includes
Gordon Bell
  • 338
  • 2
  • 12