nginx配置|Nginx开启SSI支持shtml调用方法

时间:2020-09-08  来源:nginx  阅读:

在一个HTML页面中发现一段这样的代码:

在本地环境打开网页总觉得缺少什么,和测试服务器网页对比,发现确实少了很多内容,原来include virtual是包含另一个页面的意思。但是奇怪,一般包含页面不是在模板页面或者动态页面include其他页面吗?


原来这是SSI,什么是是SSI?

SSI:Server Side Include,是一种基于服务端的网页制作技术,大多数(尤其是基于Unix平台)的web服务器如Netscape Enterprise Server等均支持SSI命令。

它的工作原因是:在页面内容发送到客户端之前,使用SSI指令将文本、图片或代码信息包含到网页中。对于在多个文件中重复出现内容,使用SSI是一种简便的方法,将内容存入一个包含文件中即可,不必将其输入所有文件。通过一个非常简单的语句即可调用包含文件,此语句指示 Web 服务器将内容插入适当网页。而且,使用包含文件时,对内容的所有更改只需在一个地方就能完成。
一个典型的应用场景就是登陆导航栏,当页面都是html静态页的时候,动态导航栏页面内容可以使用SSI包含。

在Nginx配置中开启SSI

nginx中SSI指令

1、参数

nginx下与SSI配置相关的参数主要有ssi  ssi_sclient_error ssi_types三个。三都具体的用法如下:


ssi on
开启ssi支持,默认是off
ssi_silent_errors on
默认值是off,开启后在处理SSI文件出错时不输出错误提示:"[an error occurred while processing the directive] "
ssi_types
默认是ssi_types text/html,所以如果需要htm和html支持,则不需要设置这句,如果需要shtml支持,则需要设置:ssi_types text/shtml

只需在server块中添加一行代码就可以开启SSI,如:

server { 
        listen  10.3.9.27:80; 
        server_name  www.111cn.net; 
        location / { 
            ssi on; 
            ssi_silent_errors on; 
            ssi_types text/shtml; 
            index index.shtml; 
            root /usr/local/web/wwwroot; 
            expires 30d; 
            access_log      /data/logs/www.ball.com-access_log main; 
        } 
}

我不知道SSI是不是一个很老的技术,现在似乎很少用这种方式引入其他页面,但也学到了一招,原来这样也可以

需要注意:



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

nginx配置|Nginx开启SSI支持shtml调用方法

http://m.bbyears.com/caozuoxitong/97357.html

推荐访问:nginx负载均衡 nginx怎么读
相关阅读 猜你喜欢
本类排行 本类最新