为何简单的SSI包含文件无法正常渲染?
Apache SSI 不生效的原因及解决办法
核心问题
你将SSI包含指令写在了index.html文件中,但当前Apache配置仅对.shtml后缀的文件启用了SSI解析规则,.html文件不会触发SSI处理,导致<!--#include-->指令被浏览器当作普通注释忽略。
解决选项
选项1:修改HTML文件后缀为SHTML
把index.html重命名为index.shtml,访问http://localhost/index.shtml即可看到包含的内容。若要让该文件成为默认访问页,可在Apache配置中修改DirectoryIndex,添加index.shtml:
DirectoryIndex index.shtml index.html index.htm
选项2:让Apache解析HTML文件中的SSI指令
修改http.conf中的相关配置,将.html也纳入SSI处理范围:
AddType text/html .shtml .html AddOutputFilter INCLUDES .shtml .html
修改完成后重启Apache服务器,访问http://localhost就能正常加载bogus.shtml的内容。
额外检查点
- 确认修改配置后已重启Apache,新配置才会生效
- 检查
bogus.shtml与主文件在同一目录下,路径无误 - 确保
Options +Includes配置已正确应用到c:/Apache24/htdocs目录,未被其他配置覆盖
内容的提问来源于stack exchange,提问作者geoB
相关产品推荐
相关产品推荐

