我使用MAMP来开发网站。 我有在htdocs文件夹中它自己的文件夹中的每个网站。 我pipe理一个网站,我需要使用SSI指令,因为主机不允许PHP包括。
我已经在httpd.conf文件中取消了这些行的注释:
AddType text/html .shtml AddOutputFilter INCLUDES .shtml
我在htdocs文件夹中添加了一个.htaccess文件,内容如下:
AddType text/html .shtml AddHandler server-parsed .html AddHandler server-parsed .shtml Options Indexes FollowSymLinks Includes
在网站索引页面上,包含作品使用:
<!--#include file="top-nav.shtml" -->
但它不适用于任何子文件夹中的文件。 我得到这个错误:
[在执行此命令时出现的错误]
你是否也在所有子文件夹页面上使用完全相同的include
指令? 如果是这样,你的问题似乎很清楚:你没有正确的链接到包含文件(除非你在网站上的每个目录中都有相同的文件,这样会打破目的)
除此之外,我想知道; 你在服务器上得到的错误是什么? 为什么你认为SSI没有“启用” – 特别是考虑到它至less在一个文件上工作。
不知道这个问题是否解决,因为问题仍然存在。
补充一些说明。 当您包含的文件与引用该文件的文件位于同一目录中时,请使用“文件”。 当文件驻留在子目录中时使用“虚拟”。
另外,只是我的意见,但是把你的包放在他们自己的目录(通常叫“inc”或“includes”)是一个很好的习惯。
所以对于你想要完成的事情,你想要使用…
<!--#include virtual="../inc/top-nav.html" -->