我在 NGINX 上无法使用 SSI。如果你遇到以下情况,你就会发现问题所在:http://www.bakerycamp.com/test.shtml。以下是该文件的内容:
<!--# echo hi -->
如果您在浏览器中点击此按钮,您会在内容中看到 SSI 指令 - 因此显然 NGINX 没有解释 SSI 指令。
我的 NGINX 配置文件如下所示:
server {
listen 80;
server_name bakerycamp.com www.bakerycamp.com;
access_log /var/log/nginx/bakerycamp.access.log;
index index.html;
root /home/bakerycamp.com;
location / { ssi on; }
# Deny access to all hidden files and folders
location ~ /\. { access_log off; log_not_found off; deny all; }
}
我没有从源代码构建 NGINX,而是使用 apt-get 安装了它。我假设它有 SSI 模块(因为这是默认模块),但可能没有?我应该硬着头皮从源代码重建吗?有没有办法判断安装的 NGINX 是否支持 SSI,而我的配置是否错误?
答案1
在 nginx 中,SSI 指令echo
用于回显变量的内容,而不是任意文本。
要测试 SSI,请尝试以下操作:
<!--# set var="test" value="Hello nginx!" -->
<!--# echo var="test" -->
看文档了解更多详情。