在 Apache 中完整开启 .shtml (SSI) 解析

1. 启用必要模块

SSI 需要 mod_include,而执行命令(#exec)通常需要 mod_cgi

bash 复制代码
sudo a2enmod include
sudo a2enmod cgi

2. 修改站点配置文件

编辑你的虚拟主机文件(如 /etc/apache2/sites-available/000-default.conf),在 <Directory> 段落中添加关键指令。

核心配置如下:

apache 复制代码
<Directory /var/www/html>
    # 1. 必须包含 Includes 和 ExecCGI
    Options +Indexes +FollowSymLinks +Includes +ExecCGI
    
    # 2. 允许读取 .shtml 扩展名
    AddType text/html .shtml
    
    # 3. 设置输出过滤器,让 Apache 解析文件中的 SSI 标签
    AddOutputFilter INCLUDES .shtml
    
    # (可选) 设置默认首页包含 index.shtml
    DirectoryIndex index.shtml index.html
    
    AllowOverride All
    Require all granted
</Directory>

3. 设置全局安全策略 (可选)

有时 include.conf 中的全局设置会限制 exec。检查 /etc/apache2/mods-available/include.conf

apache 复制代码
<IfModule mod_include.c>
    # 确保没有使用 IncludesNoExec
    # XBitHack 允许通过文件的"可执行"权限位来控制 SSI 行为
    XBitHack full
</IfModule>

4. 重启服务并测试

每次修改配置后必须重启:

bash 复制代码
sudo systemctl restart apache2
相关推荐
2601_962065491 天前
interface GigabitEthernet0/0/0
服务器·php·apache
JavaPub-rodert2 天前
Apache Jena 详解:Java 开发者如何真正搭起一套知识图谱与语义服务
java·apache·知识图谱
AOwhisky3 天前
Linux 网络服务架设学习笔记(第五期)——Web 服务(上篇):Apache HTTP Server——从静态到动态
linux·运维·服务器·笔记·学习·云计算·apache
JackSparrow4144 天前
Kafka(七)集成Apache Avro+Apicurio Schema Registry以保障生产者与消费者的消息兼容性
java·中间件·rpc·kafka·apache·avro·schema-registry
智码看视界4 天前
SenseNova U1.5 Lite 部署实测:8B 单卡跑通 4K 生图,Apache 2.0 免费商用
开源·apache·多模态·图像生成·ai生图·sensenova·商汤大模型
海兰8 天前
【 Kafka进阶5】使用 Docker 部署 Apache Kafka 集群完全指南
docker·kafka·apache
垂钓的小鱼18 天前
用关联图谱做量化选股:让基本面惊喜沿着网络扩散
服务器·php·apache
深维AI随笔9 天前
《构建之法》| 第二章个人技术和流程:单元测试不是“可选“,而是“必需“
单元测试·log4j·apache
极客灵风9 天前
免费约课小程序免费约课系统的区别,一文看懂怎么选
apache
xixiaoyunya9 天前
中小微企业轻量组网方案的技术选型与实践:从传统专线到软定义隧道的成本与效能分析
服务器·php·apache