Como habilitar o SSI para todos os arquivos html?

2

Eu uso o MAMP para desenvolver sites. Eu tenho cada site em sua própria pasta na pasta htdocs. Eu gerencio um site no qual preciso usar diretivas ssi, porque o host não permite incluir o php.

Eu não comentei estas linhas no arquivo httpd.conf:

AddType text/html .shtml
AddOutputFilter INCLUDES .shtml

Eu adicionei um arquivo .htaccess na pasta htdocs com o seguinte:

AddType text/html .shtml
AddHandler server-parsed .html
AddHandler server-parsed .shtml
Options Indexes FollowSymLinks Includes

Na página de índice do site, a inclusão funciona usando:

<!--#include file="top-nav.shtml" -->

Mas não funciona em arquivos em qualquer subpasta. Eu recebo este erro:

[ocorreu um erro ao processar esta diretiva]

    
por Jamie 19.12.2010 / 01:54

2 respostas

1

Você está usando exatamente a mesma diretiva include em todas as páginas de subpasta? Em caso afirmativo, o problema parece claro: você não está vinculando corretamente ao arquivo de inclusão (a menos que tenha o mesmo arquivo em todos os diretórios do site, o que prejudicaria o objetivo)

Além disso, eu gostaria de saber; Qual é o erro que você está recebendo no servidor? Por que você acha que o SSI não está 'habilitado' - especialmente considerando que ele está trabalhando em um arquivo, pelo menos.

    
por 19.12.2010 / 02:14
0

Não tenho certeza se isso foi resolvido porque a pergunta ainda está aberta.

Para adicionar alguns esclarecimentos. use "file" quando o arquivo que você está incluindo reside no mesmo diretório do arquivo que está fazendo referência a ele. Use "virtual" quando o arquivo reside em um subdiretório.

Além disso, apenas minha opinião, mas é uma boa prática colocar seus includes em um diretório próprio (geralmente chamado de "inc" ou "includes").

Então, para o que você está tentando realizar, você deseja usar ...

<!--#include virtual="../inc/top-nav.html" -->
    
por 30.07.2013 / 23:49