本文以最简步骤说明如何在主流服务器软件中实现HTML子模板功能,适用于静态页面组件复用场景。
一、Apache配置步骤(2.4.57版)
- 启用SSI模块(路径:/etc/apache2/apache2.conf)
# 取消注释模块加载行
LoadModule include_module modules/mod_include.so
#取消注释启用ssi
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
2. 配置文件修改
<Directory /var/www/html>
Options +Includes # 开启SSI支持,必加
AddType text/html .html # 允许HTML文件解析SSI,如果已有全局启用这行可以不加
AddOutputFilter INCLUDES .html 开启SSI支持,必加
</Directory>
3. 重启服务
sudo systemctl restart apache2
二、Nginx配置步骤
server {
listen 80;
server_name example.com;
# 开启SSI并指定处理类型
ssi on;
ssi_types text/html;
location / {
root /var/www/html;
index index.html;
}
}
2. 重启服务
sudo nginx -s reload
三、HTML模板使用示例
基础模板结构<!-- 主页面 index.html -->
<!DOCTYPE html>
<html>
<head>
<title>子模板示例</title>
</head>
<body>
<!--#include virtual="/includes/header.html" -->
<main>
<h1>页面主体内容</h1>
</main>
<!--#include virtual="/includes/footer.html" -->
</body>
</html>
子模板示例 <!-- includes/header.html -->
<header>
<nav>导航菜单</nav>
</header>
<!-- includes/footer.html -->
<footer>
<p>版权信息 © 2025</p>
</footer>
四、关键注意事项
路径规范
- 使用绝对路径(以
/
开头) - 文件需存放在服务器可访问目录
- 使用绝对路径(以
安全建议
- 避免包含用户上传文件
- 禁用危险指令:
<!--#exec -->
性能优化
- 对静态资源启用缓存
- 使用
.shtml
专用扩展名
发表留言 取消回复