Por que o SSI não funciona no IIS?

4

Não consigo fazer com que o IIS respeite minhas diretivas SSI - apenas exibe a diretiva #include como se fosse html antigo regular.

Aqui estão os pontos de dados relevantes:

  • Meu arquivo com a diretiva include é chamado de index.html
  • Esta é a minha diretiva: <!-- #include file = "header.shtml" --> (it não funciona com virtual .)
  • O arquivo solicitado está no mesmo diretório que o arquivo sendo

    incluir-ed.

  • O módulo SSI está instalado.
  • O manipulador SSINC-shtml o mapeamento está presente e ativado.

Acho que pode ser algum tipo de problema de permissões (leitura / gravação / execução), mas não sei onde essas configurações estão no IIS 7.5.

    
por Josh Kodroff 07.03.2011 / 21:49

3 respostas

2

O problema é que o arquivo é chamado de index.html, que não é mapeado para o manipulador SSI por padrão. Qualquer um:

  1. Mapeie a extensão de arquivo .html para o manipulador SSI que exibe outra pergunta OR
  2. Renomeie o arquivo index.shtml
por 16.03.2011 / 15:13
0

No Gerenciador do IIS, clique no nó Servidor / site (o nível apropriado ao seu ambiente) e clique em Mapeamentos do Manipulador. Clique duas vezes no mapeamento SSINC-shtml , clique no botão Request Restrictions... . Verifique as configurações em todas as três guias e veja se você configurou algo incorretamente.

    
por 07.03.2011 / 22:33
0

As inclusões do lado do servidor não estão ativadas por padrão no IIS 7 no Windows 7.

No Painel de Controle, Programas, Desativar recursos do Windows:

Marque a opção:

  Internet Information Services
    Application Development Features
      [x] Server-Side Includes
    
por 07.03.2011 / 22:45