如何让html支持<!--#include virtual=\"/commons-n/top/top-1.html\" -->

1,加载ssi模块。

因为ssi是apache中的一个模块服务项,要使用ssi功能,我们首先要对ssi模块进行加载,打开apache的配置文件httpd.conf。找到 LoadModule ssl_module modules/mod_ssl.so 命令,因该服务未被默认加载,所以只需取消该命令前的注释符#即可开启

2,添加你需要的文件类型

使用ssi技术的默认文件名为.shtml,我们需要在配置文件中对.shtml后缀名进行设置,并按自己的需求设置需要对ssi技术进行解析的文件类型设置。同样在httpd.conf文件中找到 <IfModule mime_module>:

修改
AddType text/html .shtml .html .htm
AddOutputFilter INCLUDES .shtml .html .htm

3,修改目录参数

找到<Directory "xxxx">配置,修改Options.

需要注意的是,ssi可以利用shell来执行命令,因此这个功能是有危险的,它会执行任何包含在exec标记中的命令,如 果你的用户有权限修改你的网页内容,建议把该功能关闭。当然你还可以加上IncludesNOEXEC参数,来关闭exec功能,同时又保留SSI。此时 改为: Options Indexes FollowSymLinks INCLUDES IncludesNOEXEC

4,文件包含引用的方法:
引用绝对路径的文件:<!--#include file="e:/w2/top.shtml"-->
引用当前虚拟目录文件:<!--#include virtual="include/top.html"-->
路径要写正确,路径不正确会报错:[an error occurred while processing this directive]