Apache2 Apache:SSI中的SSI
有没有一种方法可以在包含文件中包含文件?(说快五倍!) 例如: 内部index.html: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
<!--#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,但它不起作用,我从未想到(尽管它显然应该有)该文件需要正确的扩展名。所以,来自未来的巨大感谢。。。