什么是ssi
SSI:Server Side Include,是一种基于服务端的网页制作技术,大多数(尤其是基于Unix/linux平台)的web服务器如Netscape Enterprise Server等均支持SSI命令。
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
问题
在昨天我们公司网站发现网页里边嵌入ssi并不生效。也纠结了很久,一开始认为是nginx的原因,并且重新配置了ssi,但是后来经过测试发现,html的ssi是生效的,php的ssi并不生效,所以又去检查php。经过很长时间的查找和尝试,最后找到问题所在。
原因:php内部进行压缩,压缩之后nginx不能识别
解决:修改php.ini
禁掉 zlib.output_compression = On