欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

Apache、Nginx 服务配置服务器端包含(SSI)

程序员文章站 2023-10-30 22:18:40
如果不知道什么是服务器端包含(ssi)点击后面的链接查看:http://lamp.linux.gov.cn/apache/apachemenu/howto/ssi.html...

如果不知道什么是服务器端包含(ssi)点击后面的链接查看:http://lamp.linux.gov.cn/apache/apachemenu/howto/ssi.html

一、apache 配置ssi功能

修改apache配置文件httpd.conf

1. 确认加载include.so模块,将注释去掉:

loadmodule include_module libexec/apache2/mod_include.so

2. addtype部分去掉这两段注释:

addtype text/html .shtml
addoutputfilter includes .shtml

3. directory目录权限里面找到

options indexes followsymlinks

    增加includes修改为:

options indexes followsymlinks includes

4. 重新启动apache,测试。

二、nginx 配置ssi功能

在 http 段中加入下面几句即可:

ssi on;
ssi_silent_errors off;
ssi_types text/shtml;

三、shtml精简教程

你可以在shtml文件中写入ssi指令,当客户端访问这些shtml文件时, 服务器端会把这些shtml文件进行读取和解释,把shtml文件中包含的ssi指令解释出来。

比如:你可以在shtml文件中用ssi指令引用其他的 html文件(#include ),服务器传送给客户端的文件,是已经解释的shtml不会有ssi指令。它实现了html所没有的功能,就是可以实现了动态 的shtml,可以说是html的一种进化吧。像新浪的新闻系统就是这样的,新闻内容是固定的但它上面的广告和菜单等就是用#include引用进来的。

目前,主要有以下几种用用途: 更多请参考:http://www.javaeye.com/topic/306216

1、显示服务器端环境变量<#echo>

本文档名称:

<!–#echo var=”document_name”–>

现在时间:

<!–#echo var=”date_local”–>

显示ip地址</ins>

<! #echo var=”remote_addr”–>

2、将文本内容直接插入到文档中<#include>

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

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

file 文件名是一个相对路径,该路径相对于使用 #include 指令的文档所在的目录。被包含文件可以在同一级目录或其子目录中,但不能在上一级目录中。如表示当前目录下的的nav_head.htm文档,则为file=”nav_head.htm”。

virtual 文件名是 web 站点上的虚拟目录的完整路径。如表示相对于服务器文档根目录下hoyi目录下的nav_head.htm文件;则为virtual=”/hoyi/nav_head.htm”

3、显示web文档相关信息<#flastmod><#fsize>(如文件制作日期/大小等)

文件最近更新日期:

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

文件的长度:

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

4、直接执行服务器上的各种程序<#exec>(如cgi或其他可执行程序)

<!–#exec cmd=”文件名称”–>

<!–#exec cgi=”文件名称”–>

将某一外部程序的输出插入到页面中。可插入cgi程序或者是常规应用程序的输入,这取决于使用的参数是cmd还是cgi。

5、设置ssi信息显示格式<#config>(如文件制作日期/大小显示方式)

6、高级ssi可设置变量使用if条件语句。

二、shtml精简教程
你可以在shtml文件中写入ssi指令,当客户端访问这些shtml文件时, 服务器端会把这些shtml文件进行读取和解释,把shtml文件中包含的ssi指令解释出来。比如:你可以在shtml文件中用ssi指令引用其他的 html文件(#include ),服务器传送给客户端的文件,是已经解释的shtml不会有ssi指令。它实现了html所没有的功能,就是可以实现了动态 的shtml,可以说是html的一种进化吧。像新浪的新闻系统就是这样的,新闻内容是固定的但它上面的广告和菜单等就是用#include引用进来的。
目前,主要有以下几种用用途: 更多请参考:http://www.javaeye.com/topic/306216
1、显示服务器端环境变量<#echo>
本文档名称:
<!–#echo var=”document_name”–>
现在时间:<!–#echo var=”date_local”显示ip地址</ins><! #echo var=”remote_addr”
2、将文本内容直接插入到文档中<#include>
<!–#include file=”文件名称”–>
<!–#include virtual=”文件名称”–>
file 文件名是一个相对路径,该路径相对于使用 #include 指令的文档所在的目录。被包含文件可以在同一级目录或其子目录中,但不能在上一级目录中。如表示当前目录下的的nav_head.htm文档,则为file=”nav_head.htm”。
virtual 文件名是 web 站点上的虚拟目录的完整路径。如表示相对于服务器文档根目录下hoyi目录下的nav_head.htm文件;则为virtual=”/hoyi/nav_head.htm”
3、显示web文档相关信息<#flastmod><#fsize>(如文件制作日期/大小等)
文件最近更新日期:<! #flastmod file=”文件名称”–>文件的长度:<!–#fsize file=”文件名称”–>
4、直接执行服务器上的各种程序<#exec>(如cgi或其他可执行程序)
<!–#exec cmd=”文件名称”–>
<!–#exec cgi=”文件名称”–>
将某一外部程序的输出插入到页面中。可插入cgi程序或者是常规应用程序的输入,这取决于使用的参数是cmd还是cgi。
5、设置ssi信息显示格式<#config>(如文件制作日期/大小显示方式)
6、高级ssi可设置变量使用if条件语句。