你的位置:首页 > 信息动态 > 新闻中心
信息动态
联系我们

nginx ssi合并html

2022/6/29 2:41:45

前言

开发网站的过程中,我们通常会把详情页等做静态化处理,这样会大大的提高访问速率。特别是很多cms系统,默认都支持生成静态页。但是,静态页方案有个比较尴尬的问题,就是当网站头部或者底部做更改的时候,哪怕是很小的更改,只改一个字,我们也需要重新生成所有的静态页,这对于数据量稍微大点的系统是个灾难。

幸好,nginx ssi解决了这个问题。

什么是nginx ssi

Server Side Include,通常称为服务器端嵌入。nginx ssi可以动态的将页面进行组合。例如:

<html>
<head>
    <title>ssi实战</title>
    <meta charset="utf-8" />
</head>
<body>
<!-- 引入头部 -->
<!--# include file="header.html" -->

我是首页<br />

<!-- 引入尾部 -->
<!--# include file="footer.html" -->
</body>
</html>

这样,只要更新header.html和footer.html便可动态更新所有的页面了。

配置ssi

ssi的配置十分简单,不需要安装额外的模块,nginx默认支持。可以在http,server,location模块配置。

ok,就这么简单,ssi配置好了。

我们只需要在模板文件中,使用ssi语法include引入对应的文件即可。

index.html

header.html(跟index.html同级目录)

footer.html(跟index.html同级目录)

这样,页面返回给客户端前,nginx会自动组装好页面再返回。

注意:

<!–#include file=”文件名称”–> 
<!–#include virtual=”文件名称”–>

file: 文件名是一个相对路径,该路径相对于使用 #include 指令的文档所在的目录。被包含文件可以在同一级目录或其子目录中,但不能在上一级目录中。如表示当前目录下的的nav_head.htm文档,则为 file=”nav_head.htm”。
virtual :文件名是 Web 站点上的虚拟目录的完整路径。如表示相对于服务器文档根目录下hoyi目录下的nav_head.htm文件;则为virtual=”/hoyi/nav_head.htm”