我想做服务器端包含,我的机器上安装了 nginx 服务器,但我找不到在 nginx.conf 文件中启用 ssi 的方法?我只能从互联网上找到
syntax: ssi on | off;
default:
ssi off;
context: http, server, location, if in location
在位置上下文上启用 ssi。在我的情况下,我希望它在根
location / {
ssi on;
}
看起来你遇到了和我一样的问题;找到关于如何在 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
要仅为一个域启用 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;
默认情况下 ssi 仅适用于text/html
MIME 类型;这可能会让您感到沮丧,尽管此处已明确记录http://nginx.org/en/docs/http/ngx_http_ssi_module.html#ssi_types
您可能需要添加
ssi on;
ssi_types *; # Or something more specific