Apache2 Apache:SSI中的SSI

Apache2 Apache:SSI中的SSI,apache2,include,server-side-includes,ssi,Apache2,Include,Server Side Includes,Ssi,有没有一种方法可以在包含文件中包含文件?(说快五倍!) 例如: 内部index.html: <!--#include virtual="/include-1.shtml"--> <!--#include virtual="/include-2.shtml"--> 内部包括1.shtml: <!--#include virtual="/include-1.shtml"--> <!--#include virtual="/include-2.sht

有没有一种方法可以在包含文件中包含文件?(说快五倍!)

例如:

内部index.html

<!--#include virtual="/include-1.shtml"-->
<!--#include virtual="/include-2.shtml"-->

内部包括1.shtml

<!--#include virtual="/include-1.shtml"-->
<!--#include virtual="/include-2.shtml"-->


因此,该树如下所示:index.html确保Apache实际上正在尝试处理*.shtml文件。试一试推杆

<!--#echo var="DATE_LOCAL" -->


在*.shtml文件中,查看是否获得预期结果。在*.html文件中是否会得到相同的结果?如果您在这两个页面上都看不到日期,则说明您的配置已关闭。

我知道这个问题已经存在四年多了,但为了像我这样的人的利益,感谢StackOverflow的惊人的搜索引擎果汁,下面是我如何使它工作的

根据Apache2

相关文本:

此命令将包含的文件的文本插入到已解析的文件中。SSI文件可以嵌套,也就是说,包含的文件可能包含附加的SSI语句(但在这种情况下,无论XBitHack的设置如何,都必须具有.shtml后缀)

(我的重点)对我来说,解决方案在于取消默认
httpd.conf
中的两行注释:

AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
…并将第一级包含文件的文件扩展名更改为.shtml:

index.html   └─┬─ include1.shtml     └─── include2.html index.html   └─┬─ include1.shtml     └─── include2.html
轰!嵌套的SSI就像一个冠军。

是的,Apache正在解析.shtml文件,但只有一级深度。它不是对它们进行两个或两个以上层次的分析。这是我的问题。你的帖子不是这么说的——你有一个可以被解析的*.html文件,而不是*.shtml文件。所以它停在*.shtml是可疑的。我很高兴你问这个问题,我总是包括名为.htm的include文件(呵呵,说起来很难说)。我试图在一个.htm文件中嵌套另一个include,但它不起作用,我从未想到(尽管它显然应该有)该文件需要正确的扩展名。所以,来自未来的巨大感谢。。。