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

2016-09-25服务器
9

如果不知道什么是服务器端包含(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条件语句。

The End

相关推荐

Druid未授权访问漏洞怎么修复?
漏洞描述 Druid是阿里巴巴数据库出品的,为监控而生的数据库连接池,并且Druid提供的监控功能,监控SQL的执行时间、监控Web URI的请求、Session监控,首先Druid是不存在什么漏洞的。但当开发者配置不当时就可能造成未授权访问。 修复方案 修改中间件配置,给...
2025-07-29 服务器
105

Nginx强制http跳转https访问的几种方法
Nginx让http的链接自动跳转到https的链接,其实方法还是蛮多的,下面介绍两种常用方法。 方法一 可以把所有的HTTP请求通过rewrite重写到HTTPS上 server{ listen 80; server_name XXXXX.com; //你的域名 //rewrite ^(.*)$ https://XXXXXX.com permanent; rewri...
2023-06-19 服务器
372

Nginx使用中文文件名中文目录404错误的解决办法
一:确定你的系统是UTF编码 [root@Tserver ~]# env|grep LANG LANG=en_US.UTF-8 二:NGINX配置文件里默认编码设置为utf-8 server { listen 80; server_name .inginx.com ; index index.html index.htm index.php; root /usr/local/nginx/html/inginx.com; ch...
2022-10-14 服务器
902

安装 Apache 出现 <OS 10013> 以一种访问权限不允许的方式做了一个访问套接字的尝试
安装 Apache 出现 OS 10013 以一种访问权限不允许的方式做了一个访问套接字的尝试 如下截图: 提示: make_sock: could not bind to address 0.0.0.0:80 这个问题有由于计算机上安装了IIS7,80端口已占用。 打开Apache 的配置文件 Apache安装目录下的conf/htt...
2019-11-06 服务器
234

nginx加载伪静态文件.htaccess的办法
很多网站需要采用伪静态来访问动态网页。所以像phpcms这样的系统,都提供了一个.htaccess文件,供写伪静态规则。但这个规则是针对Apache的。在nginx服务器上并不起作用。 nginx 可以直接将伪静态规则写在配置文件中,但这个需要有服务器管理权限,普通站长不...
2019-01-16 服务器
544

nginx伪静态、301重定向、包括域名、目录、文件等的方法
在网站建设中需要网页重定向的情况很多:如网页目录结构变动,网页重命名、网页的扩展名改变、网站域名改变等。如果不做重定向,用户的收藏和搜索引 擎数据库中的旧地址只能让访客得到一个404错误信息页面,访问流量白白丧失。不仅如此,之前该页面的一切积...
2018-03-15 服务器
215