学过动态网页,如asp、php的人知道如何去引用网站头部、底部文件包含。例如在php中有一个方法:include();这个方法能在当前文档中引入外部文件,从而方便网站的开发和维护,然而html静态文件的包含却鲜为人知,我们平时看到很多大型的网站都使用了.shtml的文件类型,其实它们是启用了ssi的功能,因此实现了shtml等静态页的包含。
下面我讲解一下Apache下ssi配置方法。
1.加载ssi模块。因为ssi是apache中的一个模块服务项,要使用ssi功能,我们首先要对ssi模块进行加载,打开apache的配置文件httpd.conf。找到 LoadModule ssl_module modules/mod_ssl.so 命令,因该服务未被默认加载,所以只需取消该命令前的注释符#即可开启。如图所示:
2.添加你需要的文件类型,因为使用ssi技术的默认文件名为.shtml,所以我们需要在配置文件中对.shtml后缀名进行设置,并按自己的需求设置需要对ssi技术进行解析的文件类型设置。同样在httpd.conf文件中找到如下两行代码:
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
如果代码前有注释,请把注释去掉,还可以添加.html的文件类型,如图:
然后搜索“Options Indexes FollowSymLinks”
在搜索到的那一行后面添加“ Includes”
即将该行改变为 Options Indexes FollowSymLinks Includes
保存httpd.conf,重起apache即可。
到此我们就完成了对Apache SSI的设置。
以上的帖子部分是我在百度上搜索到的,其实我并不是说网上这位朋友给的方案不正确,只是可能跟我目前遇到的问题不太一样,他们只是针对shtml加载的问题做了处理,但是我的项目中还有遇到了需要加载html的文件 所以按照这样的配置的时候就无法正常运行。
所以在我寻求了帮助无果之后,自己将 第二点 AddOutputFilter INCLUDES .shtml 后面增加了相应的 .html .htm 为后缀的名称
重启apache 之后刷新网页就可以正常加载shtml 网页文件了,以上是我的个人学习笔记,留下来供以后参考