温馨提醒
如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢
本文最后更新于2024年3月9日,已超过 180天没有更新
SSI介绍
SSI是Server Sidde Include的缩写,是服务器包含的意思,支持大部分的web服务器,例如:Apache、Nginx、Tomcat等等。
它的工作原理是:在页面发送到客户端之前,使用SSI指令将待包含的文件、图片等文件包含到请求的网页中,通过一个非常简单的语句即可调用包含文件,此语句指示WEB服务器将内容插入适当网页。
SSI是被HTML文档内需要进行处理的包含部分的SSI Servlet调用的。这些指令是HTML文档的注释形式,这些指令在将内容发送到客户端之前进行内容的替换。
标准配置格式是:<!--#directive [parm=value] -->。
配置项 | 示例 | 说明 |
---|---|---|
config |
<!--#config timefmt="%B %Y" --> |
设置日期格式一起被SSI处理的其他数据 |
echo |
<!--#echo var="VARIABLE_NAEM" --> |
将会被变量的值替换掉 |
exec |
-- | 用来执行服务器端的命令 |
include |
<!--#include virtual="file-name" --> |
包含的文件绝对路径 |
flastmod |
<!--#flastmod file="filename.html" --> |
返回某个文件最后一次修改的时间 |
fsize |
<!--#fzie file="filename.html" --> |
返回某个文件的大小 |
printenv |
<!--#printenv --> |
返回所有定义的变量 |
set |
<!--#set var="foo" value="Bar" --> |
用来为定义的变量赋值 |
Nginx启用SSI
官方文档地址: Module ngx_http_ssi_module
Nginx的SSI配置选项主要是以下三个:
ssi 默认值off,如果要启用SSI,将其设为on
ssi_silent_errors 默认值off,开启后在处理SSI文件出错时不输出错误提示[an error occurred while processing the directive],实际测试并没有抑制错误。
ssi_types 默认是text/html,所以如果需支持html,则不需要设置这句,如果需要支持shtml格式则需要设置:ssi_types text/shtml
参数的上下文环境是:http, server, location, if in location,下面是示例:
server { listen 80; server_name 192.168.1.10; location / { ssi on; ssi_silent_errors off; ssi_types text/html; index index.html; root /var/www/html; expires 30d; access_log /var/log/nginx/localhost_access_log main; } }
Apache上启用SSI
官方文档地址:Introduction to Server Side Includes
Apache的主配置文件httpd.conf中配置需要支持SSI的后缀(html)
去掉AddType text/shtml,AddOutputFilter INCLUDES .shtml前面注释。
注意一下包含文件的后缀。
宝塔面板开启ssi
点击需要设置的网站
点击配置文件
代码如下:
#开启ssi ssi on; ssi_silent_errors on;
然后重启nginx。
设置完成以后,网站模板里加入代码
<!--#include file="/page/header.html"-->
路径一定要写绝对路径,模板设置完成以后,更新缓存,如果网站是生成静态的,需要先生成全站,然后就生效了。
评论0+