2

我想做服务器端包含,我的机器上安装了 nginx 服务器,但我找不到在 nginx.conf 文件中启用 ssi 的方法?我只能从互联网上找到

syntax: ssi on | off;
default:    
ssi off;
context:    http, server, location, if in location
4

4 回答 4

9

在位置上下文上启用 ssi。在我的情况下,我希望它在根

location / {
   ssi on;
}
于 2013-03-19T15:51:57.950 回答
6

看起来你遇到了和我一样的问题;找到关于如何在 NGINX 上启用 SSI 的清晰解释。Crystal Clear 不仅需要使用哪种语法,还需要格式以及包含它的确切位置。我想通了,这并不难,但是互联网上缺乏明确的说明令人沮丧。

您需要打开 nginx.conf 文件并查找格式如下的部分(我也包含了 'ssi on' 语法):

location / {
            root   E:\website\FinalJRLWeb;
            index  index.html index.shtml;
            ssi on;
        }

我花了一点时间才意识到这个位置,但它真的很简单,就像在指定的索引文件名下面添加'ssi on'行一样简单(它应该能够真正去你想要的任何地方,我不认为顺序很重要,只要它在两个括号内 {})。

之后,要验证 SSI 是否在您的 NGINX 服务器上运行,请在空白 html 页面的“body”标签中的任意位置添加以下行

<!--#echo var="DATE_LOCAL" -->

并将其以扩展名 .shtml 保存在您的 Web 服务器的根目录中。

您应该会在访问您的页面时看到服务器的本地日期和时间。我意识到这已经快一年了,但是在我试图找到明确的指示感到沮丧之后,我想尽我所能为可能需要它们的其他人提供明确的指示。所以希望这会帮助别人!

这是 NGINX 在 SSI 上的文档页面(老实说,它并没有像我希望的那样帮助我,但它仍然很有用,而且只会变得越来越有用)

http://nginx.org/en/docs/http/ngx_http_ssi_module.html#ssi_last_modified

于 2014-02-03T14:44:47.663 回答
0

在 NGINX 上为单个域启用 SSI

仅为一个域启用 SSI(限制可能的安全漏洞),您可以将其添加到该域的 .conf 文件中,如下所示- 在 Debian 中,这些(对某些人有争议)存储在类似 Apache 的系统中的“etc/nginx”下/站点可用”。

server {
  server_name mydomain.com;

  root /home/username/html;
  index index.html index.shtml;

  location / {
    ssi on;
    ...otherstuffhere
  }
}

关键部分:

  • index index.html index.shtml;
  • ssi on;
于 2019-07-30T19:45:23.277 回答
0

默认情况下 ssi 仅适用于text/htmlMIME 类型;这可能会让您感到沮丧,尽管此处已明确记录http://nginx.org/en/docs/http/ngx_http_ssi_module.html#ssi_types

您可能需要添加

ssi on;
ssi_types *;  # Or something more specific
于 2017-09-04T08:29:44.043 回答