为什么SSI不能在IIS中工作?

我不能让IIS尊重我的SSI指令 – 它只是输出#include指令,就好像它是普通的旧html。

以下是相关的数据点:

  • 我的包含include指令的文件被称为index.html
  • 这是我的指令: <!-- #include file = "header.shtml" --> (它也不适用于virtual
  • 被请求的文件和文件在同一个目录下

    包括-ED。

  • SSI模块已安装。
  • SSINC-shtml处理程序映射存在并启用。

我认为这可能是某种权限问题(读/写/执行),但我不知道这些设置在IIS 7.5中的位置。

问题是该文件被称为index.html,默认情况下,该文件未映射到SSI处理程序。 或者:

  1. 将.html文件扩展名映射到引发另一个问题的SSI处理程序
  2. 重命名文件index.shtml

在IISpipe理器中,单击服务器/站点节点(无论哪个级别适合您的环境),然后单击处理程序映射。 双击SSINC-shtml映射,点击Request Restrictions...button。 检查所有3个选项卡中的设置,看看是否有不适当的设置。

服务器端包括Windows 7上的IIS 7中默认情况下不启用。

在“控制面板”,“程序”中,closuresWindowsfunction:

检查选项:

  Internet Information Services Application Development Features [x] Server-Side Includes