SSI表达式用于简单的if else

时间:2016-04-22 15:34:24

标签: apache if-statement syntax expression ssi

我刚刚发现了Apache SSI表达式,它在概念上看起来与CGI-BIN / PERL类似,如果不是那么优雅,但我很难做出简单的变量赋值和评估。

我发现的所有资源都使用了更复杂的示例,或者删除了所有关于概念的代码,因此我无法根据自己的情况找到语法示例。

我只想设置变量(最好是整数)并对其进行评估。希望在较高文件中设置的变量的范围将渗透到较低的文件中,并且我可以使用web文件作为脚本以这种方式传递变量。

我目前的测试SSI:

<!--#set var="page" value="0"-->
<!--#if expr="@page == '0'" -->
    <!--#include file="./layout.ssi"-->
<!--#elif expr="@page == '1'" -->
    Eat Me
<!--#else -->
    NOPE!
<!--#endif -->

1 个答案:

答案 0 :(得分:0)

这似乎是我的一个愚蠢的错误。

解决方案是使用$来指定表达式中的变量。我甚至能够确认在调用另一个文件时变量仍然存在,允许变量“传递”。

此示例的正确语法如下所示:

<!--#set var="page" value="0"-->
<!--#if expr="$page == 0" -->
<!--#include file="./layout.ssi"-->
<!--#elif expr="$page == 1" -->
    Eat Me
<!--#else -->
    NOPE!
<!--#endif -->