【问题标题】:SSI Expression for simple if else用于简单 if else 的 SSI 表达式
【发布时间】:2016-04-22 15:34:24
【问题描述】:

我刚刚发现了 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 -->

【问题讨论】:

    标签: apache if-statement syntax expression ssi


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 显然这在表达式中是必需的,但在使用 echo 或 set var 时不需要。
    猜你喜欢
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 2012-10-26
    • 2016-01-01
    • 2019-09-04
    • 1970-01-01
    • 2012-08-05
    • 1970-01-01
    相关资源
    最近更新 更多