[英]Apache: SSI inside SSI
有没有办法可以在包含文件中包含包含文件? (快说五倍!)
例如:
内部索引.html :
<!--#include virtual="/include-1.shtml"-->
在include1.shtml里面:
<!--#include virtual="/include-2.shtml"-->
所以树看起来像这样: index.html <-- include_1.shtml <-- include_2.shtml
照原样,这不适用于我的 Apache。 第一个包含工作正常,但嵌套包含的内容不显示。
因为它是相关的,我在 Apache 2 上使用 XBitHack,我已经仔细检查了这两个文件是否可以由 web 用户执行。
帮助?
我知道这个问题已有四年多的历史了,但是为了像我一样通过 StackOverflow惊人的搜索引擎汁找到它的人的利益,这就是我如何使它工作的。
在 Apache2 下,你需要知道这个。
相关文字:
此命令将包含文件的文本插入到已解析文件中。 SSI 文件可能是嵌套的,即包含的文件可能包含额外的 SSI 语句(但在这种情况下,无论 XBitHack 的设置如何,都必须具有 .shtml 后缀) 。
(强调我的)对我来说,解决方案在于取消注释默认httpd.conf
中的两行:
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
…并将第一级包含文件的文件扩展名更改为.shtml:
index.html └─┬─ include1.shtml └─── include2.html
繁荣。 嵌套 SSI 就像一个冠军。
确保 Apache 实际上正在尝试处理 *.shtml 文件。 试着放
<!--#echo var="DATE_LOCAL" -->
在 *.shtml 文件中查看是否获得预期结果。 您在 *.html 文件中得到相同的结果吗? 如果您在两者中都没有看到日期,则说明您的配置已关闭。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.