Почему SSI не работает в IIS?

Я не могу заставить IIS соблюдать мои директивы SSI - он просто выводит директиву #include, как если бы это был обычный старый html.

Вот соответствующие данные:

  • Мой файл с директивой include называется index.html
  • Это моя директива: <!-- #include file = "header.shtml" --> (это не работает с virtual или.)
  • Запрашиваемый файл находится в том же каталоге, что и файл

    включают в себя-е изд.

  • Модуль SSI установлен.
  • Отображение обработчика SSINC-shtml присутствует и включено.

Я думаю, что это может быть какая-то проблема с разрешениями (чтение / запись / выполнение), но я не знаю, где находятся эти настройки в IIS 7.5.

3 ответа

Решение

Проблема в том, что файл называется index.html, который по умолчанию не связан с обработчиком SSI. Или:

  1. Сопоставьте расширение файла.html с обработчиком SSI, который поднимает другой вопрос ИЛИ
  2. Переименуйте файл index.shtml

В IIS Mgr щелкните узел Сервер / сайт (какой бы уровень не подходил для вашей среды) и щелкните Отображения обработчика. Дважды щелкните на SSINC-shtml отображение, нажмите Request Restrictions... кнопка. Проверьте настройки во всех 3 вкладках и посмотрите, правильно ли настроено что-либо.

Включения на стороне сервера не включены по умолчанию в IIS 7 в Windows 7.

На панели управления "Программы" отключите функции Windows:

Проверьте опцию:

  Internet Information Services
    Application Development Features
      [x] Server-Side Includes
Другие вопросы по тегам