初学 Nginx SSI 的作用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初学 Nginx SSI 的作用相关的知识,希望对你有一定的参考价值。

SSI:Server Side Include,是一种基于服务端的网页制作技术,

nginx ssi 的例子如下:

It took a little while to figure this out and it’s handy for creating one-off sites with “dynamic” content without a web framework.

user nginx;
worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile      on;
    tcp_nopush    on;
    keepalive_timeout 10;
    gzip          on;

    server {
        server_name  localhost;
        charset      utf-8;
        access_log   /var/log/nginx/access.log;

        root    /var/www;

        location = / {
            rewrite ^ /home redirect;
        }

        location / {
            ssi on;
            set $inc $request_uri;
            if (!-f $request_filename) {
                rewrite ^ /index.html last;
            }
            if (!-f $document_root$inc.html) {
                return 404;
            }
        }
    }
}

Then if you have an index.html file similar to this:

<html>
  <body>
    <!--# include file="$inc.html" -->
  </body>
</html>

it will now include (via SSI) whatever page is requested. So for example /home would include home.html into index.html. This makes it easy to have a common style (headers and footers) without resorting to php or a framework.

It assumes home.html exists.

从列子不难看出 ssi的 的作用, 有点像jsp的include 标签 ,不同的是  ssi 引用的 页面 来自静态页面 ,是不经过后台的。

这里是一点点 体会。有不同看法的欢迎大家经常讨论。

 

以上是关于初学 Nginx SSI 的作用的主要内容,如果未能解决你的问题,请参考以下文章

nginx ssi 模块

Nginx-SSI

nginx配置ssi实现页面拆分

SSI服务端包含技术

为啥 SSI 条件!= || != 不起作用?

Nginx 相关参数记录