>我使用服务器端包含来组织我的文件。
嵌套文件似乎不起作用。例如:-
index.shtml- 这工作正常
<!doctype html>
<html lang="en">
<!--#include virtual="partials/head.shtml"-->
<body>
<!--#include virtual="partials/components/ads/horizontal-banner.shtml"-->
<div id="site-wrapper">
<header id="site-header">
<!--#include virtual="partials/header.shtml"-->
</header>
<div id="site-body">
<!--#include virtual="partials/pages/home.shtml"-->
</div>
<footer id="site-footer">
<!--#include virtual="partials/footer.shtml"-->
</footer>
</div>
<!--#include virtual="partials/common.shtml"-->
在home.shtml中,还有另一个调用
<!--#include virtual="../components/newsletter.shtml"-->
以下是项目结构:-
project
- css
- assets
- js
- partials
- components
- ads
horizontal-banner.shtml
vertical-banner.shtml
newsletter.shtml
help.shtml
- pages
home.shtml
about.shtml
header.shtml
footer.shtml
head.shtml
common.shtml
index.shtml
查看 Apache 的文档 - 服务器端包括:
对页眉和/或页脚使用包含文件可以减少 这些更新的负担。您只需要制作一个页脚文件,然后 然后使用包含 SSI 命令将其包含在每个页面中。这 include 函数可以确定要包含的文件与 文件属性或虚拟属性。文件属性是一个文件 路径,相对于当前目录。这意味着它不可能 绝对文件路径(以/开头),也不能包含 ../如 这条路的一部分。虚拟属性可能更有用,并且 应指定相对于所提供文档的 URL。它可以 以/开头,但必须与文件位于同一服务器上 服务。
尝试像这样更改home.shtml:
<!--#include virtual="partials/components/newsletter.shtml"-->
.. 和newsletter.shtml文件应该以类似的方式更改。