Nginx配置并使用SSI功能

1,792 阅读1分钟

什么是SSI

SSI是英文Server Side Includes的缩写,翻译成中文就是服务器端包含的意思。

SSI是一种基于服务端的网页制作技术,在页面内容发送到客户端之前,使用SSI指令将文本、图片或代码信息包含到网页中。对于在多个文件中重复出现内容,使用SSI是一种简便的方法,将内容存入一个包含文件中即可,不必将其输入所有文件。通过一个非常简单的语句即可调用包含文件,此语句指示 Web 服务器将内容插入适当网页。而且,使用包含文件时,对内容的所有更改只需在一个地方就能完成。

Nginx配置SSI

配置可以放在nginx的三个作用域下面(http, server, location)

server{
	listen 80;
	server_name www.hello.com
	# 配置SSL
	ssi on; # 开启SSI支持
	ssi_silent_errors on; # 默认为off,设置为on则在处理SSI文件出错时不输出错误信息
	## ssi_types text/html; # 需要支持的shtml 默认是 text/html
	
	location / {
 	    root html;
	    index index.html index.htm;
	}
}

解决方式:去掉下面一行中的“ssi_types text/html”。

原因:text/html根本就不需要写的,gzip默认就会压缩它的,只不过以前的nginx版本不提示这个警告而已,新版本的会出这个警告。

ssi_types:默认为 ssi_types text/html,如果需要支持shtml(服务器执行脚本,类似于jsp)则需要设置为ssi_types text/shtml

header

<header>头部区域</header>

footer

<footer>尾部区域</footer>

index

<!--#include file="header.html"-->
<h1>我是index</h1>
<!--#include virtual="footer.html"-->

访问页面如下