包括。

包括。

我无法让 IIS 尊重我的 SSI 指令 - 它只是输出 #include 指令,就好像它是常规的旧 html 一样。

以下是相关数据点:

  • 我的包含include指令的文件名为index.html
  • 这是我的指令:(<!-- #include file = "header.shtml" -->它也不起作用virtual。)
  • 所请求的文件与正在被请求的文件位于同一目录中

    包括。

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

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

答案1

问题在于该文件名为 index.html,默认情况下未映射到 SSI 处理程序。以下任一操作均可:

  1. 将 .html 文件扩展名映射到 SSI 处理程序,从而调出另一个问题 或者
  2. 将文件重命名为 index.shtml

答案2

在 IIS Mgr 中,单击服务器/站点节点(适合您环境的级别),然后单击处理程序映射。双击映射SSINC-shtml,然后单击Request Restrictions...按钮。检查那里所有 3 个选项卡中的设置,看看是否有设置不正确的地方。

答案3

Windows 7 上的 IIS 7 默认未启用服务器端包含。

在“控制面板”>“程序”中,打开“Windows 功能”并关闭:

勾选该选项:

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

相关内容