![nginx 上的 ssi,使用变量和条件](https://linux22.com/image/705661/nginx%20%E4%B8%8A%E7%9A%84%20ssi%EF%BC%8C%E4%BD%BF%E7%94%A8%E5%8F%98%E9%87%8F%E5%92%8C%E6%9D%A1%E4%BB%B6.png)
我使用 nginx 来为我的静态页面提供服务。为了使菜单class="active"
在相应页面上动态更改,我尝试使用 SSI 变量。因此我在页面本身上有以下内容:
<!--#set var="pageOn" value="floorCare" -->
然后再往下一点:
<!--#include virtual="./includes/header.html" -->
在 header.html 文件中,我有:
foo: <!--# if expr="(${pageOn} = floorCare" -->class="active"<!--# endif -->
我的理解是(从我今天读到的内容来看),这应该可行。但我得到的是:
foo:[处理指令时发生错误]class="active“[处理指令时发生错误]
我知道 SSI 本身正在运行(因为页眉/页脚已正确包含)
我错过了什么?
答案1
价值上有一个额外的括号expr=
。
应该是:expr="${pageOn} = floorCare"
或expr="$pageOn = floorCare"
,括号不是字符串之外允许的语法。